/* ONE / Industrial fashion experiment.
   A removable visual layer: index-oro.html retains the previous gold direction.
   No content, route, dialog geometry or interaction logic is changed here. */
:root {
  --bg-primary:#141617;
  --bg-secondary:#1d2021;
  --surface-concrete:#2a2e2f;
  --surface-graphite:#242829;
  --surface-glass:rgb(25 28 29 / 88%);
  --surface-highlight:rgb(255 255 255 / 4%);
  --steel:#858b8d;
  --text-primary:#efefe9;
  --text-secondary:#b8bcba;
  --acid-green:#c1ff36;
  --signal-yellow:#f1ff4c;
  --border-industrial:#414749;
  --border-highlight:#676e70;
  --glass-border:rgb(255 255 255 / 20%);
  --accent-wash:rgb(193 255 54 / 4%);
  --precision:160ms cubic-bezier(.2,.7,.3,1);
  --bg:var(--bg-primary);
  --panel:var(--bg-secondary);
  --paper:var(--text-primary);
  --muted:var(--text-secondary);
  --line:var(--border-industrial);
  --accent:var(--acid-green);
  background:var(--bg-primary);
  color:var(--text-primary);
}
body { background:var(--bg-primary); }
::selection { background:var(--acid-green); color:var(--bg-primary); }
:focus-visible { outline-color:var(--accent); }
.body-copy { color:var(--text-secondary); }
.eyebrow { color:var(--text-secondary); letter-spacing:.09em; }
.eyebrow::before { width:5px; height:5px; border-radius:0; }
.meta,.source-note { letter-spacing:.055em; }

/* Black steel header. Colour is confined to the active index and fine rules. */
#preview-bar { background:var(--surface-concrete); color:var(--text-secondary); border-bottom:1px solid var(--border-industrial); font-family:var(--mono); font-size:9px; }
#preview-bar a { border-color:var(--steel); }
.site-nav { background:var(--bg-primary); border-color:var(--border-industrial); }
.nav-left a { position:relative; color:var(--text-secondary); transition:color var(--precision); }
.nav-left a::after { content:''; position:absolute; left:0; right:0; bottom:7px; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform var(--precision); }
.nav-left a[aria-current="page"]::after { transform:scaleX(1); }
.cart-count { border-radius:0; background:var(--paper); }
.hamburger { border-color:var(--text-primary); transition:border-color var(--precision); }

/* Rectangles, deliberate contrast and a short, directional arrow movement. */
.btn { border-radius:0; border-color:var(--border-highlight); background:transparent; color:var(--text-primary); transition:background var(--precision),color var(--precision),border-color var(--precision); }
.btn.light { background:var(--text-primary); border-color:var(--text-primary); color:var(--bg-primary); }
.btn .arrow,.text-link .arrow,.experience-link>.arrow { display:inline-block; transition:transform var(--precision); }
.text-link { border-color:var(--border-highlight); transition:color var(--precision),border-color var(--precision); }
.tab { border-color:var(--border-industrial); transition:background var(--precision),color var(--precision),border-color var(--precision); }
.tab.active { background:var(--accent); color:var(--bg-primary); border-color:var(--accent); }
.product-controls button { border-color:var(--border-highlight); transition:background var(--precision),color var(--precision),border-color var(--precision); }

/* Campaign hero: the existing mark, film and coordinates take the full stage. */
.hero { background:var(--bg-primary); border-bottom:1px solid var(--border-industrial); }
.hero-photo { filter:none; }
.hero-photo:has(.hero-still) { left:43%; mask-image:linear-gradient(90deg,transparent,#000 16%); }
.hero-still { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero::after { background:linear-gradient(90deg,rgb(16 18 19 / 86%),rgb(16 18 19 / 42%) 53%,rgb(16 18 19 / 10%)),linear-gradient(0deg,var(--bg-primary),transparent 42%); }
.hero::before { content:''; position:absolute; top:40px; bottom:95px; right:13%; width:1px; background:var(--glass-border); z-index:1; pointer-events:none; }
.hero .hero-brand { width:min(770px,61vw); gap:18px; margin:26px 0; }
.hero .hero-brand img { width:100%; }
.hero .hero-brand span { font-size:clamp(42px,6.2vw,90px); letter-spacing:-.07em; line-height:.98; }
.hero-desc { max-width:350px; color:var(--text-primary); font-size:13px; line-height:1.7; }
.hero-content>.eyebrow { color:var(--text-primary); }
.hero-links>.btn.light { background:var(--accent); color:var(--bg-primary); border-color:var(--accent); }
.hero-links>.btn:not(.light) { background:var(--surface-glass); border-color:var(--glass-border); }
.hero-coordinate { font-family:var(--mono); font-size:9px; letter-spacing:.12em; color:var(--text-primary); }
.hero-bottom { border-top:1px solid var(--glass-border); padding-top:15px; color:var(--text-secondary); }
.video-toggle { background:var(--surface-glass); backdrop-filter:blur(8px); border-color:var(--glass-border); letter-spacing:.04em; }
.ticker { background:linear-gradient(100deg,var(--surface-concrete),var(--bg-secondary)); border-block-color:var(--border-highlight); padding-block:28px; }
.ticker>.meta { color:var(--text-primary); font-size:10px; }
.ticker>.meta>.muted { color:var(--signal-yellow); }
.ticker h3 { font-size:clamp(19px,1.9vw,28px); line-height:1.18; letter-spacing:-.035em; text-transform:uppercase; }
.ticker .text-link { color:var(--accent); }

/* Editorial scale and fine dividing rules, on the existing grid. */
.section { padding-block:100px; }
.section-head { border-top:1px solid var(--border-industrial); padding-top:26px; margin-bottom:38px; }
.section h2 { font-size:clamp(46px,6.3vw,92px); letter-spacing:-.065em; line-height:.96; }
.page-head { padding-block:76px 48px; }
.page-head h1 { font-size:clamp(62px,9vw,138px); letter-spacing:-.07em; line-height:.95; }
.page-head>.eyebrow { border-top:1px solid var(--border-industrial); padding-top:20px; }
.page-head .body-copy { max-width:610px; }
.page-lead { border-bottom:1px solid var(--border-industrial); }
.page-lead-content { padding-block:82px 95px; }
.page-lead h1 { font-size:clamp(66px,8.6vw,134px); line-height:.94; letter-spacing:-.065em; }
.page-lead::after { background:linear-gradient(90deg,var(--bg-primary),rgb(20 22 23 / 76%) 32%,rgb(20 22 23 / 12%) 78%),linear-gradient(0deg,var(--bg-primary),transparent 42%); }
.page-lead-signature { border-top:1px solid var(--glass-border); padding-top:12px; color:var(--text-secondary); }
.page-lead-news h1 { font-size:clamp(96px,14vw,210px); letter-spacing:-.075em; }
.page-lead-corporate h1 { font-size:clamp(66px,8.8vw,138px); }
.page-lead-club h1 { font-size:clamp(70px,10vw,155px); }

/* Programme reads as printed event plates, not floating application cards. */
.program-filters { border-block:1px solid var(--border-industrial); padding-block:18px 9px; }
.program-filters .tab { border-color:transparent; border-bottom-color:var(--border-industrial); }
.program-filters .tab.active { border-color:var(--accent); }
.event-card { border-bottom:1px solid var(--border-industrial); }
.event-cover { outline:1px solid var(--glass-border); outline-offset:-1px; background:var(--surface-concrete); }
.event-cover img { transition:transform 300ms cubic-bezier(.2,.7,.3,1); }
.event-date { background:var(--text-primary); color:var(--bg-primary); width:61px; padding:10px 5px; }
.event-date strong { font-size:40px; line-height:.96; letter-spacing:-.075em; font-variant-numeric:tabular-nums; }
.event-date span { font-size:9px; }
.event-badges .tag,.event-badges .event-genre { background:var(--surface-glass); color:var(--text-primary); border:1px solid var(--glass-border); }
.event-badges .event-genre { padding:6px 8px; }
.event-info { padding-block:20px 24px; }
.event-info>p { color:var(--text-secondary); font-size:10px; }
.event-info h3 { font-size:clamp(18px,1.6vw,24px); line-height:1.17; text-transform:uppercase; letter-spacing:-.035em; }
.event-prices-card { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:5px 12px; min-height:32px; margin-top:17px; padding-top:12px; border-top:1px solid var(--line); color:var(--accent); font:11px/1.5 var(--mono); }
.price-condition { flex-basis:100%; color:var(--muted); font-size:9px; line-height:1.6; }
.price-origin { font-size:8px; color:var(--muted); flex-shrink:0; }
.price-unavailable { color:var(--muted); font:10px/1.6 var(--mono); }
.event-prices-detail { margin-top:25px; padding-top:21px; border-top:1px solid var(--line); }
.event-prices-detail>.meta { color:var(--muted); font-size:10px; }
.event-offer-list { list-style:none; margin:12px 0 0; padding:0; }
.event-offer-list li { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:11px 0; font-size:13px; line-height:1.5; }
.event-offer-list li+li { border-top:1px solid var(--line); }
.event-offer-list strong { color:var(--accent); font-size:20px; font-weight:500; white-space:nowrap; }
.event-offer-list small { display:block; margin-top:4px; color:var(--muted); font:9px/1.6 var(--mono); }
.event-offer-description { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.6; }
.event-price-note { margin-top:12px; color:var(--muted); font:9px/1.6 var(--mono); }

/* Dining: black architectural glass and more breathing room, little colour. */
.feature { background:var(--bg-secondary); border-block:1px solid var(--border-industrial); }
.feature-copy { background:linear-gradient(135deg,var(--surface-highlight),transparent 65%); border-left:1px solid var(--glass-border); }
.feature h2 { font-size:clamp(42px,4.8vw,70px); line-height:.99; letter-spacing:-.055em; }
.feature .eyebrow::before { background:var(--steel); }
.experience-link { border-color:var(--border-industrial); }
.experience-link h3 { font-size:26px; letter-spacing:-.035em; }
.experience-link .meta { color:var(--steel); }
#main:has(.page-lead-restaurant),#main:has(.food-menu-grid),#main:has(.buffet-menu) { --accent:var(--text-primary); }
.page-lead-restaurant h1 { font-size:clamp(62px,7.4vw,116px); line-height:1.01; letter-spacing:-.055em; }
.page-lead-restaurant .page-lead-media { mask-image:linear-gradient(90deg,transparent,#000 14%); }
.page-lead-restaurant+.page-body { padding-top:75px; }
.service-card { background:linear-gradient(135deg,var(--surface-highlight),transparent 80%),var(--bg-secondary); border-color:var(--glass-border); padding:40px 32px; gap:30px; }
.service-card>.meta { color:var(--steel); letter-spacing:.1em; }
.service-card h2 { letter-spacing:-.05em; }
.service-card p { color:var(--text-secondary); line-height:1.85; }
.service-card .text-link { border-color:var(--steel); }
.wide-photo { outline:1px solid var(--glass-border); outline-offset:-1px; margin-block:56px; }
.food-category-head { border-color:var(--border-highlight); }
.food-category-head .meta { color:var(--steel); }
.menu-sample-note { background:var(--surface-highlight); color:var(--text-secondary); border-color:var(--steel); }
.food-menu-item { padding-block:27px; }
.catering-feature { background:var(--bg-secondary); outline:1px solid var(--border-industrial); }
.corporate-intro h2,.corporate-teaser h2 { letter-spacing:-.06em; }
.space-number { background:var(--surface-glass); color:var(--text-primary); border:1px solid var(--glass-border); font-family:var(--mono); }
.space-image { outline:1px solid var(--glass-border); outline-offset:-1px; }

/* Original products are kept intact, presented on cold metal plinths. */
.product-art,.product-tote,.product-cap,.product-bottle,.shop-stage { background:linear-gradient(135deg,var(--surface-concrete),var(--bg-secondary) 68%); border-color:var(--border-industrial); }
.product-art::after { content:''; position:absolute; inset:0; pointer-events:none; border-top:1px solid var(--glass-border); }
.product-tag { color:var(--text-primary); padding-bottom:7px; border-bottom:1px solid var(--steel); }
.product-arrow { color:var(--accent); transition:transform var(--precision); }
.product-info { border-bottom:1px solid var(--border-industrial); padding-block:20px; }
.product-info h3 { text-transform:uppercase; letter-spacing:-.025em; font-size:20px; }
.product-info p { font-family:var(--mono); font-size:11px; }
.product-art svg { transition:transform 260ms cubic-bezier(.2,.7,.3,1); }
.product-card a:hover svg { transform:translateY(-3px); }
.featured-product { border:1px solid var(--border-industrial); }
.featured-product-copy h2 { font-size:clamp(42px,4.4vw,68px); line-height:.96; letter-spacing:-.06em; }
.featured-product-copy .btn.light,#add-cart:enabled { background:var(--acid-green); border-color:var(--acid-green); color:var(--bg-primary); }
.product-price { font-family:var(--mono); font-size:24px; }
.size-option span { border-color:var(--border-highlight); font-family:var(--mono); }
.size-option input:checked+span { background:var(--accent); border-color:var(--accent); color:var(--bg-primary); }
.cart-thumbnail { background:var(--surface-concrete); }

/* Magazine panels and photographic chapters: retained images, stronger edges. */
.launch-card { background:var(--bg-secondary); border-block:1px solid var(--border-industrial); }
.launch-copy { border-left:1px solid var(--border-industrial); }
.launch-copy h2 { font-size:clamp(36px,4vw,60px); line-height:.98; letter-spacing:-.06em; }
.article-status { color:var(--text-secondary); }
.article-lead,.article-body p { color:var(--text-secondary); }
.article-banner { outline:1px solid var(--glass-border); outline-offset:-1px; }
.venue-chapter-heading { border-top:1px solid var(--border-highlight); padding-top:25px; }
.venue-chapter-heading h2 { font-size:clamp(70px,10.2vw,158px); line-height:.9; letter-spacing:-.07em; }
.venue-chapter-heading .eyebrow { color:var(--text-secondary); }
.venue-space { outline:1px solid var(--glass-border); outline-offset:-1px; }
.venue-space-copy { border-top:1px solid var(--glass-border); background:linear-gradient(180deg,rgb(20 22 23 / 18%),var(--surface-glass)); }
.venue-space h3 { font-size:clamp(38px,4.7vw,74px); letter-spacing:-.06em; }
.venue-space p { color:var(--text-secondary); }
.photo-download-panel { background:linear-gradient(120deg,var(--surface-concrete),var(--bg-secondary)); border:1px solid var(--border-industrial); }
.photo-print { background:var(--text-primary); box-shadow:8px 10px 0 rgb(0 0 0 / 18%); }
.photo-print>span { font-family:var(--mono); letter-spacing:.035em; }
.photo-download-copy>p:not(.eyebrow):not(.source-note) { color:var(--text-secondary); }

/* Existing dialog lifecycle, dimensions, sticky controls and content tint stay. */
#event-experience { --experience-surface:var(--surface-graphite); border:1px solid var(--border-highlight); }
.event-layer-header { background:var(--surface-glass); border-bottom-color:var(--glass-border); backdrop-filter:blur(14px); }
.event-layer-header>.meta { color:var(--text-secondary); }
.event-close { background:var(--acid-green); color:var(--bg-primary); transition:background var(--precision),color var(--precision); }
.event-close svg { transition:transform var(--precision); }
.immersive-heading h1 { letter-spacing:-.065em; }
.immersive-poster { filter:none; outline:1px solid var(--glass-border); outline-offset:-1px; }
.immersive-schedule { border-color:var(--border-highlight); }
.immersive-schedule span { color:var(--text-secondary); letter-spacing:.08em; }
.immersive-actions { background:var(--surface-glass); border-color:var(--border-highlight); }
#share-dialog { background:var(--bg-secondary); border-color:var(--border-highlight); }
.booking-aside,.summary,.order-summary,.auth-panel,.admin-panel { background:var(--bg-secondary); border-color:var(--border-industrial); }
.field input,.field select,.field textarea,.share-text { background:var(--bg-primary); border-color:var(--border-highlight); color:var(--text-primary); }
.field label,.field>span { color:var(--text-secondary); }
.shop-notice,.form-note,.payment-placeholder { background:var(--surface-highlight); color:var(--text-secondary); border-color:var(--border-highlight); }
.delivery-options label:has(input:checked) { background:var(--accent-wash); border-color:var(--accent); }
.status { border-color:var(--border-highlight); }

/* Newsletter and footer: an oversized signature against a disciplined grid. */
.newsletter { border-top-color:var(--border-highlight); padding-block:90px; }
.newsletter h2 { font-size:clamp(40px,5.1vw,76px); line-height:.97; letter-spacing:-.06em; }
.email-line { border-color:var(--steel); }
.email-line:focus-within { border-color:var(--accent); }
.email-line button { color:var(--accent); }
.footer-map { border-color:var(--border-industrial); }
.map-location { color:var(--accent); }
.map-location-label { background:var(--surface-glass); border-color:var(--border-highlight); font-family:var(--mono); }
#site-footer { background:var(--bg-secondary); }
.footer-main { padding-block:65px; border-color:var(--border-highlight); }
.footer-main>div { min-width:0; }
.footer-main>div+div { border-left:1px solid var(--border-industrial); padding-left:24px; }
.footer-main img { width:min(100%,330px); margin-bottom:30px; }
.footer-main .meta { color:var(--text-primary); font-size:10px; }
.footer-main p,.footer-main a { color:var(--text-secondary); }
.footer-base { color:var(--text-secondary); border-color:var(--border-highlight); }
dialog#navigation { background:var(--bg-primary); }
.menu-items a { border-color:var(--border-industrial); transition:color var(--precision),padding-left var(--precision); }
.menu-items a span { color:var(--steel); }
.menu-close { border:1px solid var(--border-highlight); }

@media(hover:hover) {
  .nav-left a:hover,.nav-shop-link:hover,.footer-main a:hover { color:var(--accent); }
  .nav-left a:hover::after { transform:scaleX(1); }
  .menu-toggle:hover .hamburger { border-color:var(--accent); }
  .btn:not(:disabled):hover,.btn.light:not(:disabled):hover,.product-controls button:not(:disabled):hover { background:var(--accent); color:var(--bg-primary); border-color:var(--accent); }
  .hero-links>.btn.light:hover,.featured-product-copy .btn.light:hover,#add-cart:enabled:hover,.event-close:hover { background:var(--signal-yellow); color:var(--bg-primary); border-color:var(--signal-yellow); }
  .btn:not(:disabled):hover .arrow,.text-link:hover .arrow,.experience-link:hover>.arrow { transform:translateX(4px); }
  .text-link:hover { color:var(--accent); border-color:var(--accent); }
  .tab:not(.active):hover { color:var(--accent); border-color:var(--accent); }
  .event-card:hover { border-color:var(--accent); }
  .event-card:hover .event-info h3 { color:var(--accent); }
  .event-card:hover img { transform:scale(1.025); }
  .product-card>a:hover .product-arrow { transform:translate(3px,-3px); }
  .product-card>a:hover .product-info { border-color:var(--accent); }
  .menu-items a:hover { color:var(--accent); padding-left:8px; }
  .event-close:hover svg { transform:rotate(90deg); }
}

/* Short, one-shot editorial reveals; no scroll listeners or animation library. */
@keyframes one-type-entry { from { opacity:0; transform:translateY(12px); clip-path:inset(0 0 12%); } to { opacity:1; transform:none; clip-path:inset(0); } }
@media(prefers-reduced-motion:no-preference) {
  .hero-brand,.page-head h1,.page-lead h1 { animation:one-type-entry 420ms cubic-bezier(.2,.7,.3,1) both; }
}
@media(max-width:1100px) {
  .hero .hero-brand { width:min(680px,72vw); }
  .hero .hero-brand span { font-size:clamp(42px,6.8vw,75px); }
  .page-lead h1,.page-lead-corporate h1,.page-lead-club h1 { font-size:clamp(66px,8.5vw,92px); }
  .page-lead-news h1 { font-size:clamp(96px,14vw,150px); }
  .service-card { padding:32px 24px; }
  .footer-main>div+div { padding-left:16px; }
}
@media(max-width:700px) {
  .event-prices-card { gap:7px; font-size:10px; flex-wrap:wrap; }
  .event-prices-detail { margin-top:20px; }
  .hero-photo:has(.hero-still) { left:0; mask-image:none; }
  #preview-bar { font-size:8px; }
  .hero::before { display:none; }
  .hero .hero-brand { width:100%; max-width:430px; gap:16px; margin:25px 0; }
  .hero .hero-brand img { width:100%; }
  .hero .hero-brand span { font-size:clamp(34px,10.6vw,57px); letter-spacing:-.06em; }
  .hero-desc { font-size:13px; max-width:285px; }
  .hero-bottom { font-size:8px; padding-top:12px; }
  .ticker { padding-block:22px; }
  .ticker>.meta { font-size:9px; }
  .ticker h3 { font-size:18px; line-height:1.2; }
  .section { padding-block:62px; }
  .section-head { padding-top:20px; margin-bottom:28px; flex-wrap:wrap; }
  .section-head>div { min-width:0; max-width:100%; }
  .section h2,.newsletter h2 { font-size:clamp(35px,10vw,56px); letter-spacing:-.06em; }
  .page-head { padding-block:45px 34px; }
  .page-head h1 { font-size:clamp(42px,12vw,72px); }
  .page-lead-content { padding-block:170px 65px; }
  .page-lead h1,.page-lead-corporate h1,.page-lead-club h1 { font-size:clamp(43px,12.2vw,75px); line-height:.97; }
  .page-lead-news h1 { font-size:clamp(70px,21vw,125px); }
  .page-lead::after,.page-lead-corporate::after,.page-lead-club::after { background:linear-gradient(0deg,var(--bg-primary) 2%,rgb(20 22 23 / 80%) 35%,rgb(20 22 23 / 14%)); }
  .page-lead-restaurant .page-lead-media { mask-image:none; }
  .page-lead-restaurant h1 { font-size:clamp(42px,11.5vw,70px); line-height:1.02; }
  .page-lead-restaurant+.page-body { padding-top:40px; }
  .event-date { width:45px; padding:7px 4px; }
  .event-date strong { font-size:29px; }
  .event-date span { font-size:8px; }
  .event-info { padding-block:16px 20px; }
  .event-info>p { font-size:8px; }
  .event-info h3 { font-size:15px; line-height:1.23; }
  .event-badges .event-genre { padding:4px 6px; }
  .feature h2 { font-size:clamp(35px,10vw,53px); }
  .feature-copy { border-left:0; border-top:1px solid var(--glass-border); }
  .experience-link h3 { font-size:23px; }
  .service-card { padding:32px 26px; gap:27px; }
  .wide-photo { margin-block:38px; }
  .product-info h3 { font-size:17px; }
  .featured-product-copy h2 { font-size:38px; }
  .launch-copy { border-left:0; border-top:1px solid var(--border-industrial); }
  .launch-copy h2 { font-size:34px; }
  .venue-chapter-heading h2 { font-size:clamp(48px,14.5vw,90px); }
  .venue-space h3 { font-size:clamp(36px,11vw,60px); }
  .newsletter { padding-block:60px; }
  .footer-main { padding-block:40px; }
  .footer-main img { width:85%; max-width:330px; }
  .footer-main>div+div { padding-left:0; border-left:0; }
  .footer-main>div:not(:first-child) { border-top:1px solid var(--border-industrial); padding-top:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .btn,.text-link,.arrow,.nav-left a,.nav-left a::after,.hamburger,.event-cover img,.product-art svg,.product-arrow,.product-controls button,.tab,.event-close,.event-close svg,.menu-items a { transition:none; }
}
