/* Вставьте это в Tilda: Настройки сайта -> Вставка кода ->
   "Пользовательские CSS-стили" -> Редактировать CSS.
   Это чистый CSS, без обёртки тегами - просто вставьте как есть. */

:root{
  --ivory:        #F3F2ED;
  --paper:        #FFFFFF;
  --ink:          #14231D;
  --ink-soft:     #1B2E24;
  --fairway:      #2F4B3C;
  --fairway-soft: #3E5C4B;
  --brass:        #A88A4F;
  --brass-light:  #C9AD74;
  --stone:        #6B6B63;
  --line:         rgba(20,35,29,0.14);
  --line-dark:    rgba(243,242,237,0.18);
  --font-display: 'Instrument Serif', Georgia, serif;
  --font-body:    'Newsreader', Georgia, 'Times New Roman', serif;
  --font-mono:    'IBM Plex Mono', monospace;
  --max-w:        1180px;
  --gutter:       clamp(24px, 5vw, 64px);
  --radius:       2px;
  --section-pad:  clamp(72px, 12vw, 140px);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--font-body); background:var(--ivory); color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
.wrap{ max-width:var(--max-w); margin:0 auto; padding:0 var(--gutter); }
@media (prefers-reduced-motion: reduce){ *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; } }
:focus-visible{ outline:2px solid var(--brass); outline-offset:3px; }

.eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--brass); display:flex; align-items:center; gap:12px; }
.eyebrow::before{ content:''; width:28px; height:1px; background:var(--brass); display:inline-block; }

h1,h2,h3{ font-family:var(--font-display); font-weight:400; line-height:1.08; letter-spacing:-0.01em; }
h2{ font-size:clamp(32px,4.2vw,50px); font-style:italic; }
h3{ font-size:clamp(19px,2.1vw,25px); font-style:italic; }
p{ color:var(--stone); }
.section-head{ max-width:660px; margin-bottom:52px; }
.section-head h2{ color:var(--ink); margin-top:14px; }
.section-head p{ margin-top:16px; font-size:17px; }

.btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:12px; letter-spacing:0.12em; text-transform:uppercase; padding:16px 30px; border:1px solid var(--brass); border-radius:var(--radius); transition:background .25s ease, color .25s ease, border-color .25s ease; white-space:nowrap; }
.btn-solid{ background:var(--brass); color:var(--ink); font-weight:600; }
.btn-solid:hover{ background:var(--brass-light); border-color:var(--brass-light); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-ghost:hover{ border-color:var(--fairway); color:var(--fairway); }

header.nav{ position:fixed; top:0; left:0; right:0; z-index:100; padding:22px var(--gutter); display:flex; align-items:center; justify-content:space-between; background:rgba(20,35,29,0.7); backdrop-filter:blur(6px); transition:background .35s ease, padding .35s ease, backdrop-filter .35s ease; }
header.nav.scrolled{ background:rgba(243,242,237,0.92); backdrop-filter:blur(10px); padding:14px var(--gutter); border-bottom:1px solid var(--line); }
.nav-mark{ font-family:var(--font-display); font-style:italic; font-size:20px; color:var(--ivory); transition:color .35s ease; }
header.nav.scrolled .nav-mark{ color:var(--ink); }
.nav-links{ display:none; align-items:center; gap:30px; }
@media(min-width:900px){ .nav-links{ display:flex; } }
.nav-links a{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ivory); opacity:0.85; transition:opacity .2s ease, color .35s ease; }
header.nav.scrolled .nav-links a{ color:var(--ink); }
.nav-links a:hover{ opacity:1; }
.nav-cta{ display:none; }
@media(min-width:900px){ .nav-cta{ display:inline-flex; } }
.nav-burger{ display:flex; }
@media(min-width:900px){ .nav-burger{ display:none; } }
.nav-burger{ background:none; border:1px solid var(--line-dark); border-radius:var(--radius); width:40px; height:40px; align-items:center; justify-content:center; color:var(--ivory); transition:color .35s ease, border-color .35s ease; }
header.nav.scrolled .nav-burger{ color:var(--ink); border-color:var(--line); }
.mobile-menu{ position:fixed; top:0; left:0; right:0; bottom:0; width:100%; height:100%; z-index:150; background:var(--ink); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:24px; padding:0 var(--gutter); transform:translateY(-100%); transition:transform .4s cubic-bezier(.6,0,.2,1); }
.mobile-menu.open{ transform:translateY(0); }
.mobile-menu a{ font-family:var(--font-display); font-style:italic; font-size:32px; color:var(--ivory); }
.mobile-menu .close-btn{ position:absolute; top:22px; right:var(--gutter); background:none; border:none; color:var(--ivory); font-size:14px; font-family:var(--font-mono); letter-spacing:0.14em; text-transform:uppercase; }

.hero{ position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:flex-end; background:var(--ink); overflow:hidden; padding-bottom:clamp(48px, 8vw, 88px); }
.hero-contours{ position:absolute; inset:0; width:100%; height:100%; opacity:0.5; }
.hero-content{ position:relative; z-index:2; padding-top:180px; }
.hero .wrap{ width:100%; }
.hero-eyebrow{ color:var(--fairway); }
.hero-eyebrow::before{ background:var(--fairway); }
.hero h1{ color:var(--ink); font-size:clamp(38px, 6.6vw, 84px); margin-top:22px; max-width:18ch; }
.hero-meta{ display:flex; flex-wrap:wrap; gap:36px; margin-top:36px; padding-top:26px; border-top:1px solid var(--line-dark); max-width:780px; }
.hero-visa-badge{ display:inline-flex; align-items:flex-start; gap:12px; margin-top:24px; padding:12px 20px; background:var(--brass); border-radius:var(--radius); font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.02em; color:var(--ink); font-weight:500; max-width:100%; line-height:1.5; }
.hero-visa-icon{ font-size:16px; }
.hero-meta-item .label{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--fairway); opacity:0.9; }
.hero-meta-item .value{ font-family:var(--font-body); font-size:16px; color:var(--ink); margin-top:6px; }
.hero-desc{ color:var(--ink); max-width:52ch; margin-top:26px; font-size:17px; }
.hero-actions{ display:flex; align-items:center; gap:22px; margin-top:38px; flex-wrap:wrap; }
.hero-organizers{ display:flex; align-items:center; gap:20px; margin-top:44px; padding-top:24px; border-top:1px solid var(--line); flex-wrap:wrap; }
.hero-organizers-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--fairway); }
.hero-organizer-logo{ height:44px; width:auto; opacity:0.92; }

.about{ padding:var(--section-pad) 0; background:var(--ivory); position:relative; overflow:hidden; }
.about-texture{ position:absolute; top:0; right:-10%; width:70%; height:100%; opacity:0.55; pointer-events:none; z-index:0; }
.about .wrap{ position:relative; z-index:1; }
.about-grid{ display:grid; grid-template-columns:1fr; gap:56px; }
@media(min-width:900px){ .about-grid{ grid-template-columns:0.9fr 1.1fr; align-items:start; } }
.about-lede{ font-family:var(--font-display); font-style:italic; font-size:clamp(22px,2.4vw,30px); color:var(--ink); line-height:1.35; }
.about-copy p{ margin-bottom:18px; font-size:16px; }
.about-copy p:last-child{ margin-bottom:0; }

.why{ padding:var(--section-pad) 0; background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.why-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
@media(min-width:700px){ .why-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1000px){ .why-grid{ grid-template-columns:repeat(3,1fr); } }
.why-card{ background:var(--paper); padding:36px 28px; position:relative; overflow:hidden; border-top:2px solid transparent; transition:border-color .25s ease; }
@media(min-width:700px){ .why-card-wide{ grid-column:1 / -1; } .why-card-wide p{ max-width:70ch; } }
.why-card:hover{ border-top-color:var(--brass); }
.why-card::before{ content:attr(data-num); position:absolute; top:-18px; right:10px; font-family:var(--font-display); font-style:italic; font-size:88px; color:var(--fairway); opacity:0.06; line-height:1; pointer-events:none; }
.why-card .idx{ font-family:var(--font-mono); font-size:12px; color:var(--brass); letter-spacing:0.1em; position:relative; z-index:1; }
.why-card h3{ margin-top:16px; color:var(--ink); font-size:19px; position:relative; z-index:1; }
.why-card p{ margin-top:10px; font-size:14.5px; position:relative; z-index:1; }

.program{ padding:var(--section-pad) 0; background:var(--ink-soft); color:var(--ivory); }
.program .eyebrow{ color:var(--brass-light); }
.program .eyebrow::before{ background:var(--brass-light); }
.program .section-head h2{ color:var(--ivory); }
.program .section-head p{ color:#B9C2BC; }
.card-table{ border-top:1px solid var(--line-dark); }
.card-row{ display:grid; grid-template-columns:64px 130px 1fr; gap:24px; padding:26px 0; border-bottom:1px solid var(--line-dark); align-items:baseline; }
@media(max-width:700px){ .card-row{ grid-template-columns:44px 1fr; } .card-row .card-day-label{ display:none; } }
.card-row .card-hole{ font-family:var(--font-mono); font-size:13px; color:var(--brass-light); }
.card-row .card-day-label{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.06em; color:#8DA093; }
.card-row .card-day-title{ font-family:var(--font-display); font-style:italic; font-size:21px; color:var(--ivory); }
.card-row .card-day-desc{ font-size:14.5px; color:#AAB4AD; margin-top:8px; max-width:65ch; }
.card-row .card-day-desc strong{ color:#D6DDD8; font-weight:600; }

.courses{ padding:var(--section-pad) 0; background:var(--ivory); }
.course-list{ display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:8px; }
.course-item{ background:var(--ivory); display:grid; grid-template-columns:1fr; }
@media(min-width:820px){ .course-item{ grid-template-columns:1.1fr 1fr; } }
.course-item.reverse{ direction:rtl; }
.course-item.reverse > *{ direction:ltr; }
.course-photo{ position:relative; }
.course-info{ padding:44px var(--gutter); display:flex; flex-direction:column; justify-content:center; }
.course-info .eyebrow{ margin-bottom:16px; }
.course-info h3{ color:var(--ink); font-size:clamp(22px,2.4vw,28px); }
.course-info p{ margin-top:12px; font-size:15px; }
.course-info ul{ margin-top:14px; padding-left:18px; }
.course-info li{ font-size:14.5px; color:var(--stone); margin-bottom:6px; }
.course-specs{ display:flex; gap:26px; margin-top:22px; flex-wrap:wrap; }
.course-specs div{ font-family:var(--font-mono); font-size:11.5px; color:var(--stone); }
.course-specs strong{ display:block; color:var(--fairway); font-size:14.5px; font-family:var(--font-body); font-weight:600; margin-bottom:4px; }

.photo-slot{ background:linear-gradient(135deg, var(--fairway) 0%, var(--ink-soft) 100%); min-height:280px; height:100%; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:20px; }
.photo-slot::before{ content:''; position:absolute; inset:0; background-image:repeating-linear-gradient(115deg, rgba(255,255,255,0.05) 0px, rgba(255,255,255,0.05) 1px, transparent 1px, transparent 34px); }
.photo-slot .tag{ position:relative; z-index:1; font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.06em; color:rgba(243,242,237,0.65); border:1px solid rgba(243,242,237,0.3); padding:6px 10px; border-radius:var(--radius); }
.course-photo img, .stay-card-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.course-badge{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; padding:7px 12px; border-radius:var(--radius); margin-bottom:16px; }
.course-badge.primary{ background:var(--fairway); color:var(--ivory); }
.course-badge.bonus{ background:transparent; color:var(--brass); border:1px solid var(--brass); }
.course-pedigree{ margin-top:18px; padding:14px 16px; background:rgba(168,138,79,0.08); border-left:3px solid var(--brass); font-size:14px; color:var(--ink); }
.course-pedigree strong{ color:var(--fairway); }

.stay{ padding:var(--section-pad) 0; background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.stay-grid{ display:grid; grid-template-columns:1fr; gap:28px; margin-top:8px; }
@media(min-width:820px){ .stay-grid{ grid-template-columns:1fr 1fr; } }
.stay-card{ border:1px solid var(--line); background:var(--ivory); display:flex; flex-direction:column; }
.stay-card.featured{ border-color:var(--brass); }
.stay-card-photo{ height:200px; }
.stay-card-body{ padding:32px; flex:1; display:flex; flex-direction:column; }
.stay-card-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.stay-card-head h3{ color:var(--ink); }
.stay-price{ font-family:var(--font-display); font-style:italic; font-size:28px; color:var(--fairway); margin-top:6px; }
.stay-sub{ font-family:var(--font-mono); font-size:11.5px; color:var(--stone); margin-top:4px; }
.stay-card-body p{ margin-top:14px; font-size:14.5px; }
.stay-features{ margin-top:20px; padding-top:20px; border-top:1px solid var(--line); list-style:none; display:flex; flex-direction:column; gap:16px; flex:1; }
.stay-features li{ padding-left:14px; border-left:2px solid var(--brass); display:flex; flex-direction:column; gap:3px; }
.stay-hotel-name{ font-family:var(--font-body); font-weight:600; font-size:16px; color:var(--fairway); }
.stay-hotel-dates{ font-family:var(--font-mono); font-size:11.5px; color:var(--stone); letter-spacing:0.02em; }
.stay-note{ margin-top:20px; font-family:var(--font-mono); font-size:11.5px; color:var(--stone); text-align:center; }
.hotel-highlight{ margin-top:32px; display:grid; grid-template-columns:1fr; border:1px solid var(--line); background:var(--paper); }
@media(min-width:760px){ .hotel-highlight{ grid-template-columns:1fr 1.3fr; } }
.hotel-highlight-photo{ min-height:220px; }
.hotel-highlight-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.hotel-highlight-info{ padding:36px; display:flex; flex-direction:column; justify-content:center; }
.hotel-highlight-badge{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--brass); margin-bottom:12px; }
.hotel-highlight-info h3{ color:var(--ink); font-size:clamp(20px,2.2vw,25px); }
.hotel-highlight-info p{ margin-top:12px; font-size:14.5px; color:var(--stone); }

.included{ padding:var(--section-pad) 0; background:var(--ivory); }
.included-grid{ display:grid; grid-template-columns:1fr; gap:0; margin-top:8px; }
@media(min-width:700px){ .included-grid{ grid-template-columns:1fr 1fr; } }
.included-list{ list-style:none; }
.included-list li{ display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); font-size:15px; }
.included-list li span:first-child{ color:var(--ink); }
.included-list li span:last-child{ font-family:var(--font-mono); font-size:11.5px; color:var(--brass); letter-spacing:0.04em; text-align:right; white-space:nowrap; }
@media(min-width:700px){ .included-grid .included-col:first-child{ border-right:1px solid var(--line); padding-right:48px; } .included-grid .included-col:last-child{ padding-left:48px; } }

.terms{ padding:var(--section-pad) 0; background:var(--fairway); color:var(--ivory); }
.terms .eyebrow{ color:var(--brass-light); }
.terms .eyebrow::before{ background:var(--brass-light); }
.terms .section-head h2{ color:var(--ivory); }
.terms .section-head p{ color:#DCE3DE; }
.terms-grid{ display:grid; grid-template-columns:1fr; gap:0; margin-top:8px; }
@media(min-width:700px){ .terms-grid{ grid-template-columns:1fr 1fr; } }
.terms-list{ list-style:none; }
.terms-list li{ padding:14px 0; border-bottom:1px solid var(--line-dark); font-size:14.5px; color:#DCE3DE; }
@media(min-width:700px){ .terms-grid .terms-col:first-child{ border-right:1px solid var(--line-dark); padding-right:48px; } .terms-grid .terms-col:last-child{ padding-left:48px; } }

.organizer{ padding:var(--section-pad) 0; background:var(--ink); color:var(--ivory); }
.organizer .eyebrow{ color:var(--brass-light); }
.organizer .eyebrow::before{ background:var(--brass-light); }
.organizer-block{ margin-top:28px; }
.organizer h3{ color:var(--brass-light); font-size:20px; margin-bottom:10px; }
.organizer p{ color:#B9C2BC; margin-top:10px; font-size:15px; max-width:74ch; }
.organizer-block + .organizer-block{ margin-top:40px; padding-top:40px; border-top:1px solid var(--line-dark); }
.organizer-logo{ height:56px; width:auto; margin-bottom:18px; display:block; }

.gallery{ padding:var(--section-pad) 0; background:var(--ivory); }
.gallery-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:8px; }
@media(min-width:700px){ .gallery-grid{ grid-template-columns:repeat(4,1fr); } }
.gallery-grid .photo-slot{ min-height:180px; aspect-ratio:1/1; }
@media(min-width:700px){ .gallery-grid .g-big{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; } }
.gallery-item{ min-height:180px; aspect-ratio:1/1; overflow:hidden; border-radius:var(--radius); position:relative; cursor:pointer; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.gallery-item:hover img{ transform:scale(1.04); }
.gallery-item::after{
  content:''; position:absolute; top:12px; right:12px; width:34px; height:34px;
  background:rgba(20,35,29,0.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center/16px no-repeat;
  border-radius:50%; opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.gallery-item:hover::after{ opacity:1; }
@media(min-width:700px){ .gallery-item.g-big{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; } }

/* ---------- Lightbox ---------- */
.lightbox{
  position:fixed; inset:0; z-index:200; background:rgba(15,27,21,0.96);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .3s ease;
  padding:60px 20px;
}
.lightbox.open{ opacity:1; visibility:visible; }
.lightbox img{
  max-width:100%; max-height:100%; object-fit:contain;
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
}
.lightbox-close, .lightbox-prev, .lightbox-next{
  position:fixed; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25);
  color:var(--ivory); border-radius:50%; width:46px; height:46px;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  font-family:var(--font-mono); font-size:20px; transition:background .2s ease;
}
.lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover{ background:rgba(255,255,255,0.18); }
.lightbox-close{ top:24px; right:24px; }
.lightbox-prev{ left:24px; top:50%; transform:translateY(-50%); }
.lightbox-next{ right:24px; top:50%; transform:translateY(-50%); }
@media(max-width:640px){
  .lightbox-prev{ left:10px; } .lightbox-next{ right:10px; }
  .lightbox-close{ top:14px; right:14px; }
}
.lightbox-counter{
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%);
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.08em; color:rgba(255,255,255,0.6);
}

.apply{ padding:clamp(48px,7vw,80px) 0; background:var(--paper); border-top:1px solid var(--line); }
.apply .section-head{ margin-bottom:28px; }
.apply .section-head p{ font-size:15px; }
.apply-callout{ border:1px dashed var(--brass); background:rgba(168,138,79,0.06); padding:20px 24px; font-family:var(--font-mono); font-size:12.5px; color:var(--stone); line-height:1.7; margin-bottom:40px; }
.apply-preview{ opacity:0.55; pointer-events:none; user-select:none; }
.apply-grid{ display:grid; grid-template-columns:1fr; gap:40px; }
@media(min-width:940px){ .apply-grid{ grid-template-columns:0.85fr 1.15fr; } }
.apply-contact{ display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.apply-contact a{ font-family:var(--font-mono); font-size:14px; color:var(--fairway); }
form.apply-form{ display:flex; flex-direction:column; gap:20px; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field label{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--stone); }
.field input, .field select, .field textarea{ background:transparent; border:none; border-bottom:1px solid var(--line); padding:11px 2px; color:var(--ink); font-family:var(--font-body); font-size:16px; }
.field-row{ display:grid; grid-template-columns:1fr; gap:20px; }
@media(min-width:560px){ .field-row{ grid-template-columns:1fr 1fr; } }
.radio-group{ display:flex; gap:22px; margin-top:4px; flex-wrap:wrap; }
.radio-opt{ display:flex; align-items:center; gap:8px; font-size:14.5px; color:var(--ink); }

footer{ background:var(--ivory); padding:60px 0 32px; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:36px; padding-bottom:40px; border-bottom:1px solid var(--line); }
@media(min-width:760px){ .footer-grid{ grid-template-columns:1.2fr 1fr 1fr; } }
.footer-mark{ font-family:var(--font-display); font-style:italic; font-size:22px; color:var(--ink); }
.footer-grid p{ margin-top:14px; font-size:14px; max-width:34ch; }
.footer-col .label{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--brass); margin-bottom:12px; }
.footer-col a, .footer-col div{ display:block; font-size:14.5px; color:var(--ink); margin-bottom:9px; }
.footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-top:22px; font-family:var(--font-mono); font-size:11px; color:var(--stone); }

.reveal{ transition:opacity .7s ease, transform .7s ease; }
.reveal.pending{ opacity:0; transform:translateY(18px); }
.reveal.in{ opacity:1; transform:translateY(0); }


/* ---------- Audience section (breaks up the light-on-light run) ---------- */
.audience{ padding:var(--section-pad) 0; background:var(--fairway); color:var(--ivory); position:relative; overflow:hidden; }
.audience::before{ content:''; position:absolute; inset:0; background-image:repeating-linear-gradient(115deg, rgba(255,255,255,0.045) 0px, rgba(255,255,255,0.045) 1px, transparent 1px, transparent 40px); pointer-events:none; }
.audience .wrap{ position:relative; z-index:1; }
.audience .eyebrow{ color:var(--brass-light); }
.audience .eyebrow::before{ background:var(--brass-light); }
.audience .section-head h2{ color:var(--ivory); }
.audience .section-head p{ color:#DCE3DE; }
.audience-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); margin-top:8px; }
@media(min-width:700px){ .audience-grid{ grid-template-columns:repeat(2,1fr); } }
.audience-card{ background:var(--ink-soft); padding:32px 30px; display:flex; gap:20px; align-items:flex-start; }
.audience-card .mark{ font-family:var(--font-display); font-style:italic; font-size:34px; color:var(--brass-light); line-height:1; flex-shrink:0; }
.audience-card p{ font-size:15.5px; color:#DCE3DE; margin:0; padding-top:5px; }

/* ---------- Sheshan full-bleed interlude (the "joker" moment) ---------- */
.sheshan-feature{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:flex-end;
  background:var(--ink);
  overflow:hidden;
}
.anting-feature{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:flex-end;
  background:var(--ink);
  overflow:hidden;
}
.anting-feature::before{
  content:'';
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(115deg, rgba(255,255,255,0.04) 0px, rgba(255,255,255,0.04) 1px, transparent 1px, transparent 40px);
}
.anting-feature .wrap{ position:relative; z-index:1; padding-bottom:clamp(28px,4vw,44px); padding-top:clamp(120px,16vw,180px); }
.anting-feature .tag{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(243,242,237,0.55); border:1px solid rgba(243,242,237,0.28);
  padding:6px 10px; border-radius:var(--radius); display:inline-block; margin-bottom:28px;
}
.anting-feature .eyebrow{ color:var(--brass-light); margin-bottom:20px; }
.anting-feature .eyebrow::before{ background:var(--brass-light); }
.anting-feature h2{
  color:var(--ivory); font-size:clamp(30px,4vw,46px); max-width:16ch; margin-bottom:20px;
}
.anting-feature p{
  color:#DCE3DE; font-size:clamp(17px,1.9vw,21px); max-width:44ch; line-height:1.5;
  font-family:var(--font-display); font-style:italic;
}
.sheshan-feature::before{
  content:'';
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(115deg, rgba(255,255,255,0.04) 0px, rgba(255,255,255,0.04) 1px, transparent 1px, transparent 40px);
}
.sheshan-feature .wrap{ position:relative; z-index:1; padding-bottom:clamp(28px,4vw,44px); padding-top:clamp(120px,16vw,180px); }
.sheshan-feature .tag{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(243,242,237,0.55); border:1px solid rgba(243,242,237,0.28);
  padding:6px 10px; border-radius:var(--radius); display:inline-block; margin-bottom:28px;
}
.sheshan-feature .eyebrow{ color:var(--brass-light); margin-bottom:20px; }
.sheshan-feature .eyebrow::before{ background:var(--brass-light); }
.sheshan-feature h2{
  color:var(--ivory); font-size:clamp(30px,4vw,46px); max-width:16ch; margin-bottom:20px;
}
.sheshan-feature p{
  color:#DCE3DE; font-size:clamp(17px,1.9vw,21px); max-width:44ch; line-height:1.5;
  font-family:var(--font-display); font-style:italic;
}