:root {
  --font-geist-sans: Arial, Helvetica, sans-serif;
  --font-geist-mono: "SFMono-Regular", Consolas, monospace;
  --paper: #faf3e3;
  --paper-deep: #f0dfb5;
  --gold: #e8c568;
  --gold-light: #f3d991;
  --red: #b50724;
  --red-bright: #df2542;
  --ink: #111116;
  --muted: #6e6659;
  --line: rgba(17, 17, 22, .18);
  --shadow: 10px 12px 0 var(--ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: var(--font-geist-sans), Arial, sans-serif; margin: 0; }
.loading-site { align-items: center; display: flex; font: 700 13px/1.5 Arial, sans-serif; justify-content: center; min-height: 100vh; padding: 30px; text-align: center; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

.site-shell { min-height: 100vh; overflow: hidden; position: relative; }
.site-shell::before { background-image: radial-gradient(rgba(17,17,22,.08) .6px, transparent .6px); background-size: 5px 5px; content: ""; inset: 0; opacity: .18; pointer-events: none; position: fixed; z-index: 10; }

.announcement-bar { align-items: center; background: var(--ink); color: var(--paper); display: flex; font-size: 10px; font-weight: 700; justify-content: space-between; letter-spacing: .13em; padding: 10px clamp(22px, 5vw, 78px); position: relative; text-transform: uppercase; z-index: 11; }
.announcement-bar > span { align-items: center; display: flex; gap: 9px; }
.announcement-bar i { background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 4px rgba(232,197,104,.15); display: inline-block; height: 7px; width: 7px; }
.announcement-bar a { color: var(--gold-light); transition: color .25s ease; }
.announcement-bar a:hover { color: #fff; }
.announcement-actions { align-items: center; display: inline-flex; gap: 16px; }
.topline-social { align-items: center; display: inline-flex; gap: 7px; }
.topline-social img { height: 13px; width: 13px; }

.site-nav { align-items: center; background: var(--section-header, transparent); display: flex; gap: 28px; justify-content: space-between; margin: 0 auto; max-width: 1440px; padding: 20px clamp(22px, 5vw, 78px); position: relative; z-index: 11; }
.brand { align-items: center; display: inline-flex; gap: 10px; min-width: 214px; }
.brand-logo { background: var(--paper); border: 2px solid var(--ink); border-radius: 50%; display: block; height: 54px; object-fit: contain; padding: 2px; width: 54px; }
.brand-lockup { display: flex; flex-direction: column; line-height: .88; }
.brand-lockup strong { font-size: 15px; letter-spacing: -.05em; }
.brand-lockup em { color: var(--red); font-family: Georgia, serif; font-size: 16px; font-style: italic; font-weight: 700; margin-top: 5px; }
.nav-links { align-items: center; display: flex; gap: clamp(16px, 3vw, 38px); margin-left: auto; }
.nav-links a { align-items: center; color: var(--muted); display: inline-flex; font-size: 11px; font-weight: 800; gap: 6px; letter-spacing: .08em; text-transform: uppercase; transition: color .25s ease; }
.nav-links a img { height: 13px; width: 13px; }
.nav-links a:hover { color: var(--red); }
.nav-whatsapp { align-items: center; background: var(--ink); border: 1.5px solid var(--ink); border-radius: 999px; color: var(--paper); display: inline-flex; font-size: 11px; font-weight: 800; gap: 8px; letter-spacing: .08em; padding: 12px 16px; text-transform: uppercase; transition: background .25s ease, color .25s ease, transform .25s ease; }
.nav-whatsapp:hover { background: var(--gold); color: var(--ink); transform: translateY(-2px); }
.wa-mini, .wa-glyph { align-items: center; background: var(--gold); border-radius: 50%; color: var(--ink); display: inline-flex; font-size: 8px; font-weight: 950; height: 22px; justify-content: center; letter-spacing: -.05em; width: 22px; }
.wa-mini { background: #25d366; padding: 5px; }
.wa-mini img { height: 12px; width: 12px; }

.hero { align-items: center; background: var(--section-hero, transparent); display: grid; gap: clamp(36px, 7vw, 106px); grid-template-columns: minmax(0, .86fr) minmax(440px, 1fr); margin: 0 auto; max-width: 1440px; min-height: 680px; padding: 68px clamp(22px, 5vw, 78px) 110px; position: relative; }
.hero-copy { max-width: 640px; position: relative; z-index: 2; }
.eyebrow { align-items: center; color: var(--red); display: flex; font-size: 10px; font-weight: 900; gap: 11px; letter-spacing: .17em; margin: 0 0 25px; text-transform: uppercase; }
.eyebrow-line { background: var(--red); display: inline-block; height: 2px; width: 29px; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: -.08em; margin: 0; }
h1 { font-size: clamp(55px, 7.4vw, 108px); line-height: .88; max-width: 700px; }
h1 span { color: var(--red); display: block; font-style: italic; }
.hero-description { color: var(--muted); font-size: 16px; line-height: 1.65; margin: 31px 0 28px; max-width: 480px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.button { align-items: center; border: 1.5px solid var(--ink); border-radius: 999px; display: inline-flex; font-size: 11px; font-weight: 900; gap: 27px; justify-content: center; min-height: 53px; padding: 0 22px; text-transform: uppercase; transition: background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease; }
.button-primary { background: var(--red); border-color: var(--red); box-shadow: 4px 5px 0 var(--ink); color: #fff; }
.button-primary:hover { background: var(--red-bright); transform: translateY(-3px); }
.button-secondary { background: transparent; min-width: 165px; }
.button-secondary:hover { background: var(--gold); transform: translateY(-3px); }
.button-icon { height: 17px; object-fit: contain; width: 17px; }
.button-icon-dark { filter: brightness(.2); }
.micro-proof { align-items: center; color: var(--muted); display: flex; font-size: 12px; gap: 12px; margin-top: 34px; }
.proof-mark { align-items: center; background: var(--gold); border: 1.5px solid var(--ink); border-radius: 50%; color: var(--red); display: inline-flex; font-family: Georgia, serif; font-size: 16px; font-style: italic; font-weight: 900; height: 31px; justify-content: center; transform: rotate(-10deg); width: 31px; }

.hero-visual { background: var(--red); border: 2px solid var(--ink); border-radius: 10px; box-shadow: var(--shadow), 0 18px 30px rgba(17,17,22,.12); height: min(590px, 52vw); min-height: 500px; overflow: hidden; position: relative; transform: rotate(1.4deg); }
.hero-visual::before { border: 1px solid rgba(250,243,227,.32); content: ""; inset: 16px; pointer-events: none; position: absolute; z-index: 1; }
.hero-visual::after { background: var(--gold); bottom: -31%; content: ""; height: 67%; left: -17%; opacity: .9; position: absolute; transform: rotate(-24deg); width: 126%; z-index: 0; }
.visual-index { color: var(--paper); font-family: Georgia, serif; font-size: clamp(68px, 8vw, 120px); font-style: italic; font-weight: 700; left: 6%; line-height: .6; opacity: .8; position: absolute; top: 11%; transform: rotate(-7deg); z-index: 2; }
.visual-index span { font-size: .45em; margin-left: 42px; }
.photo-collage { display: grid; gap: 10px; grid-template-columns: 1.15fr .85fr; grid-template-rows: 1fr 1fr; inset: 58px 42px 70px; position: absolute; z-index: 3; }
.photo-frame { background: var(--ink); border: 2px solid var(--ink); display: block; overflow: hidden; position: relative; }
.photo-frame::after { background: linear-gradient(180deg, transparent 48%, rgba(17,17,22,.66)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.photo-frame img { display: block; filter: saturate(1.08) contrast(1.03); height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.8,.2,1); width: 100%; }
.photo-frame:hover img { transform: scale(1.08); }
.photo-main { grid-row: 1 / 3; }
.photo-top { transform: translateY(-7px) rotate(2deg); }
.photo-bottom { transform: translateY(7px) rotate(-2deg); }
.photo-caption { bottom: 17px; color: var(--paper); font-family: Georgia, serif; font-size: 19px; font-style: italic; left: 15px; position: absolute; z-index: 1; }
.visual-footer { bottom: 18px; color: var(--paper); display: flex; font-size: 9px; font-weight: 900; justify-content: space-between; left: 6%; letter-spacing: .12em; position: absolute; right: 6%; z-index: 3; }
.visual-footer span:last-child { color: var(--ink); }

.proof-strip { align-items: center; background: var(--section-proof, var(--gold)); border-bottom: 2px solid var(--ink); border-top: 2px solid var(--ink); display: grid; gap: 28px; grid-template-columns: 1.18fr repeat(3, 1fr); padding: 27px clamp(22px, 5vw, 78px); position: relative; }
.strip-label { font-family: Georgia, serif; font-size: 23px; font-style: italic; letter-spacing: -.05em; line-height: .9; margin: 0; }
.strip-label em { color: var(--red); }
.quick-stop { align-items: center; border-left: 1px solid rgba(17,17,22,.3); display: flex; gap: 14px; min-height: 42px; padding-left: 24px; }
.quick-number { color: var(--red); font-size: 10px; font-weight: 950; letter-spacing: .08em; }
.quick-icon { height: 24px; object-fit: contain; width: 24px; }
.quick-stop strong, .quick-stop span { display: block; }
.quick-stop strong { font-size: 13px; }
.quick-stop div span { color: var(--muted); font-size: 11px; margin-top: 3px; }

.experience-section { background: var(--section-experience, transparent); margin: 0 auto; max-width: 1440px; padding: 125px clamp(22px, 5vw, 78px) 120px; }
.section-intro { align-items: end; display: grid; grid-template-columns: 1fr 1.1fr; margin-bottom: 48px; }
.section-intro .eyebrow { align-self: start; grid-row: span 2; }
.section-intro h2 { font-size: clamp(45px, 6vw, 82px); line-height: .86; }
.section-intro h2 em { color: var(--red); font-style: italic; }
.section-intro > p:last-child { color: var(--muted); font-size: 14px; line-height: 1.5; margin: 21px 0 0; max-width: 340px; }
.bento-grid { display: grid; gap: 14px; grid-template-columns: 1.25fr .75fr; grid-template-rows: 250px 210px; }
.bento-card { border: 2px solid var(--ink); border-radius: 10px; box-shadow: 0 8px 0 rgba(17,17,22,.2), 0 16px 28px rgba(17,17,22,.1); min-height: 0; overflow: hidden; position: relative; }
.bento-photo { grid-row: 1 / 3; }
.bento-photo img { display: block; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); width: 100%; }
.bento-photo:hover img { transform: scale(1.06); }
.bento-overlay { background: linear-gradient(transparent, rgba(17,17,22,.86)); bottom: 0; color: var(--paper); display: flex; flex-direction: column; gap: 7px; left: 0; padding: 80px 27px 25px; position: absolute; right: 0; }
.bento-overlay strong { font-family: Georgia, serif; font-size: 30px; font-style: italic; font-weight: 700; }
.bento-overlay small { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bento-dark { background: var(--ink); color: var(--paper); padding: 25px; }
.bento-gold { background: var(--gold-light); padding: 25px; }
.card-kicker { color: var(--red); display: block; font-size: 9px; font-weight: 950; letter-spacing: .16em; margin-bottom: 29px; }
.bento-dark .card-kicker { color: var(--gold); }
.bento-card > strong { display: block; font-family: Georgia, serif; font-size: clamp(24px, 3vw, 37px); letter-spacing: -.06em; line-height: .94; }
.bento-card > strong em { color: var(--gold); font-style: italic; }
.bento-gold > strong { color: var(--ink); font-family: var(--font-geist-sans), Arial, sans-serif; font-size: clamp(21px, 2.4vw, 31px); font-weight: 750; letter-spacing: -.06em; }
.card-symbol { bottom: 20px; color: var(--gold); font-size: 34px; position: absolute; right: 24px; }
.card-foot { bottom: 20px; color: var(--muted); font-size: 10px; font-weight: 800; left: 25px; position: absolute; }

.visit-section { background: var(--section-location, transparent); display: grid; gap: 15px; grid-template-columns: .85fr 1.15fr 1fr; margin: 0 auto; max-width: 1440px; padding: 0 clamp(22px, 5vw, 78px) 128px; }
.visit-heading { padding: 26px 0; }
.visit-heading h2 { font-size: clamp(44px, 5.5vw, 76px); line-height: .87; }
.visit-heading h2 em { color: var(--red); font-style: italic; }
.visit-heading > p:last-child { color: var(--muted); font-size: 13px; line-height: 1.55; margin-top: 25px; }
.visit-card { border: 2px solid var(--ink); border-radius: 10px; box-shadow: 0 8px 0 rgba(17,17,22,.2), 0 16px 28px rgba(17,17,22,.1); min-height: 280px; overflow: hidden; padding: 28px; position: relative; }
.visit-location-card { background: var(--red); color: #fff; display: flex; flex-direction: column; justify-content: space-between; padding-left: 48%; }
.map-preview { background: var(--paper-deep); border-right: 2px solid var(--ink); inset: 0 auto 0 0; overflow: hidden; position: absolute; width: 44%; }
.map-preview::after { background: linear-gradient(135deg, rgba(232,197,104,.2), transparent 60%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.map-preview iframe { border: 0; filter: saturate(.7) contrast(1.05); height: 100%; width: 100%; }
.location-copy strong { display: block; font-family: Georgia, serif; font-size: 25px; line-height: 1.05; max-width: 230px; }
.location-copy > span:last-child { display: block; font-size: 12px; margin-top: 8px; opacity: .8; }
.card-label { display: block; font-size: 9px; font-weight: 900; letter-spacing: .15em; margin-bottom: 9px; opacity: .75; text-transform: uppercase; }
.map-action, .social-action { align-items: center; border-top: 1px solid currentColor; display: flex; font-size: 10px; font-weight: 900; gap: 8px; justify-content: space-between; letter-spacing: .09em; padding-top: 11px; text-transform: uppercase; width: 100%; }
.map-action img, .social-action img { height: 15px; object-fit: contain; width: 15px; }
.map-action img { margin-right: 2px; }
.social-action img { margin-right: 2px; }
.map-action:hover { color: var(--gold-light); }
.visit-social-card { background: var(--section-social, var(--paper-deep)); display: flex; flex-direction: column; justify-content: flex-end; }
.social-top { align-items: center; color: var(--red); display: flex; font-size: 10px; font-weight: 900; gap: 7px; letter-spacing: .1em; position: absolute; right: 28px; text-transform: uppercase; top: 29px; }
.social-dot { background: var(--red); border-radius: 50%; height: 7px; width: 7px; }
.visit-social-card strong { font-size: clamp(17px, 2vw, 24px); letter-spacing: -.06em; }
.visit-social-card > span:not(.social-dot) { color: var(--muted); font-size: 12px; margin: 8px 0 26px; }
.social-action { color: var(--red); }
.social-action:hover { color: var(--ink); }

.site-footer { align-items: center; background: var(--section-footer, transparent); border-top: 2px solid var(--ink); display: flex; gap: 28px; justify-content: space-between; margin: 0 clamp(22px, 5vw, 78px); padding: 25px 0 38px; position: relative; z-index: 2; }
.site-footer .brand { min-width: auto; transform: scale(.82); transform-origin: left center; }
.site-footer p, .site-footer > a:last-child { color: var(--muted); font-size: 11px; margin: 0; }
.site-footer > a:last-child { font-weight: 800; }
.site-footer > a:last-child { align-items: center; display: inline-flex; gap: 7px; }
.site-footer > a:last-child img { height: 14px; width: 14px; }
.site-footer > a:last-child:hover { color: var(--red); }
.theme-toggle { align-items: center; background: transparent; border: 0; color: var(--ink); cursor: pointer; display: inline-flex; height: 32px; justify-content: center; min-width: 84px; padding: 0; -webkit-tap-highlight-color: transparent; }
.theme-toggle:hover { transform: translateY(-1px); }
.theme-toggle:focus, .theme-toggle:focus-visible { outline: 0; }
.theme-toggle-switch { background: var(--red); border-radius: 999px; display: block; height: 32px; overflow: hidden; padding: 0; position: relative; transition: background .25s ease; width: 84px; }
.theme-toggle-thumb { background: #faf3e3; border-radius: 50%; display: block; height: 24px; left: 4px; position: absolute; top: 4px; transform: translateX(52px); transition: background .25s ease, transform .38s cubic-bezier(.22,.8,.25,1); width: 24px; }
.theme-toggle.is-dark .theme-toggle-switch { background: #29262d; border: 1.5px solid var(--gold); }
.theme-toggle-track-icon { align-items: center; display: flex; height: 18px; justify-content: center; left: 9px; position: absolute; top: 7px; transition: transform .38s cubic-bezier(.22,.8,.25,1); width: 18px; }
.theme-toggle.is-dark .theme-toggle-thumb { transform: translateX(0); }
.theme-toggle.is-dark .theme-toggle-track-icon { transform: translateX(48px); }
.theme-toggle-icon { display: block; height: 18px; object-fit: contain; width: 18px; }
.theme-icon-moon { display: none; }
.theme-toggle.is-dark .theme-icon-sun { display: none; }
.theme-toggle.is-dark .theme-icon-moon { display: block; }
.floating-whatsapp { align-items: center; background: #25d366; border: 0; border-radius: 50%; bottom: 22px; box-shadow: 0 8px 20px rgba(17,17,22,.2); display: flex; height: 58px; justify-content: center; padding: 0; position: fixed; right: 24px; transition: box-shadow .25s ease, transform .25s ease; width: 58px; z-index: 20; }
.floating-whatsapp:hover { box-shadow: 0 11px 25px rgba(17,17,22,.26); transform: scale(1.08); }
.floating-whatsapp img { height: 29px; width: 29px; }

html[data-theme="dark"] .site-shell {
  --paper: #111116 !important;
  --paper-deep: #1d1d24 !important;
  --gold: #e8c568 !important;
  --gold-light: #f3d991 !important;
  --red: #e3173b !important;
  --red-bright: #ff4b62 !important;
  --ink: #f8f1e3 !important;
  --muted: #b8b0a4 !important;
  --section-header: #15151b !important;
  --section-hero: #111116 !important;
  --section-proof: #24242c !important;
  --section-experience: #15151b !important;
  --section-location: #111116 !important;
  --section-social: #29262d !important;
  --section-footer: #111116 !important;
}
html[data-theme="dark"] body { background: #111116; color: #f8f1e3; }
html[data-theme="dark"] .site-shell::before { background-image: radial-gradient(rgba(248,241,227,.1) .6px, transparent .6px); }
html[data-theme="dark"] .announcement-bar, html[data-theme="dark"] .nav-whatsapp, html[data-theme="dark"] .bento-dark { background: #08080c; color: #f8f1e3; }
html[data-theme="dark"] .button-secondary { color: #f8f1e3; }
html[data-theme="dark"] .button-icon-dark { filter: brightness(0) invert(1); }
html[data-theme="dark"] .bento-gold { background: #3b3320; }
html[data-theme="dark"] .brand-logo { background: #f8f1e3; }
html[data-theme="dark"] .map-preview { background: #1d1d24; }

.hero-copy, .hero-visual, .proof-strip, .experience-section, .visit-section, .site-footer { animation: rise-in .75s both; }
.hero-visual { animation-delay: .1s; }
.proof-strip { animation-delay: .18s; }
@keyframes rise-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes soft-float { 0%, 100% { transform: rotate(1.4deg) translateY(0); } 50% { transform: rotate(1.4deg) translateY(-7px); } }
.hero-visual { animation: rise-in .75s both, soft-float 7s ease-in-out 1s infinite; }

@media (max-width: 1020px) {
  .hero { gap: 42px; grid-template-columns: minmax(0, .92fr) minmax(360px, .9fr); }
  .hero-visual { min-height: 460px; }
  .nav-links { gap: 17px; }
  .section-intro { grid-template-columns: .8fr 1.2fr; }
  .visit-section { grid-template-columns: 1fr 1fr; }
  .visit-heading { grid-column: 1 / -1; }
}

@media (max-width: 740px) {
  .announcement-bar { gap: 10px; line-height: 1.25; }
  .announcement-bar > span { max-width: 48%; }
  .announcement-bar a { text-align: right; }
  .site-nav { padding-bottom: 15px; padding-top: 15px; }
  .brand { min-width: 0; }
  .brand-logo { height: 46px; width: 46px; }
  .brand-lockup strong { font-size: 13px; }
  .brand-lockup em { font-size: 14px; }
  .nav-links { display: none; }
  .nav-whatsapp { font-size: 9px; padding: 10px 11px; }
  .wa-mini { height: 19px; width: 19px; }
  .hero { display: flex; flex-direction: column; min-height: auto; padding-bottom: 92px; padding-top: 48px; }
  h1 { font-size: clamp(54px, 15vw, 81px); }
  .hero-description { font-size: 15px; margin-top: 24px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .micro-proof { margin-top: 23px; }
  .hero-visual { animation: rise-in .75s both; height: 430px; min-height: 0; transform: rotate(0); width: 100%; }
  .hero-visual::before { inset: 10px; }
  .photo-collage { gap: 7px; inset: 48px 22px 60px; }
  .visual-index { font-size: 75px; top: 9%; }
  .proof-strip { align-items: stretch; display: flex; flex-direction: column; gap: 0; padding: 25px 22px; }
  .strip-label { margin-bottom: 11px; }
  .quick-stop { border-left: 0; border-top: 1px solid rgba(17,17,22,.3); padding: 13px 0; }
  .experience-section { padding-bottom: 90px; padding-top: 86px; }
  .section-intro { display: block; margin-bottom: 34px; }
  .section-intro h2 { font-size: 54px; }
  .section-intro > p:last-child { margin-top: 21px; }
  .bento-grid { display: flex; flex-direction: column; }
  .bento-card { min-height: 210px; }
  .bento-photo { min-height: 360px; }
  .bento-overlay strong { font-size: 27px; }
  .visit-section { display: flex; flex-direction: column; padding-bottom: 103px; }
  .visit-heading { padding: 0 0 20px; }
  .visit-heading h2 { font-size: 55px; }
  .visit-card { min-height: 255px; }
  .visit-location-card { min-height: 440px; padding-left: 28px; padding-top: 215px; }
  .map-preview { border-bottom: 2px solid var(--ink); border-right: 0; height: 195px; inset: 0 0 auto 0; width: 100%; }
  .site-footer { align-items: flex-start; flex-direction: column; gap: 16px; margin: 0 22px; padding-bottom: 107px; }
  .site-footer .brand { transform-origin: left; }
  .floating-whatsapp { bottom: 20px; right: 20px; }
}

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

.admin-shell { background: var(--ink); color: var(--paper); min-height: 100vh; padding: 46px clamp(22px, 5vw, 80px) 72px; }
.admin-header, .admin-layout { margin: 0 auto; max-width: 1280px; }
.admin-header { align-items: end; display: flex; gap: 30px; justify-content: space-between; padding-bottom: 48px; }
.admin-kicker { color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .16em; margin: 0 0 19px; text-transform: uppercase; }
.admin-header h1 { color: var(--paper); font-size: clamp(48px, 7vw, 84px); line-height: .88; max-width: 680px; }
.admin-header > div:first-child > p:last-child { color: rgba(250,243,227,.68); font-size: 14px; line-height: 1.5; margin: 24px 0 0; max-width: 470px; }
.admin-account { align-items: flex-end; display: flex; flex-direction: column; gap: 5px; text-align: right; }
.admin-account span { color: rgba(250,243,227,.5); font-size: 10px; text-transform: uppercase; }
.admin-account strong { font-size: 13px; }
.admin-account a { color: var(--gold); font-size: 11px; font-weight: 800; margin-top: 10px; }
.admin-layout { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); }
.admin-editor-card, .admin-help-card { border: 1px solid rgba(250,243,227,.22); padding: 22px; }
.admin-editor-card { background: #1a1a20; }
.admin-help-card { background: var(--red); }
.admin-card-heading { align-items: center; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 19px; }
.admin-card-heading > div { align-items: center; display: flex; gap: 12px; }
.admin-card-heading h2, .admin-help-card h2 { font-family: var(--font-geist-sans), Arial, sans-serif; font-size: 16px; letter-spacing: -.04em; margin: 0; }
.admin-badge { background: var(--gold); color: var(--ink); display: inline-flex; font-size: 9px; font-weight: 950; letter-spacing: .12em; padding: 6px 8px; }
.admin-badge-gold { background: var(--gold-light); }
.admin-status { color: rgba(250,243,227,.62); font-size: 10px; }
.admin-json { background: #0d0d11; border: 1px solid rgba(250,243,227,.16); color: var(--gold-light); display: block; font: 12px/1.65 var(--font-geist-mono), monospace; min-height: 670px; outline: 0; padding: 17px; resize: vertical; width: 100%; }
.admin-json:focus { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(232,197,104,.16); }
.admin-save { background: var(--gold); border: 0; color: var(--ink); cursor: pointer; font-size: 11px; font-weight: 950; letter-spacing: .06em; margin-top: 15px; padding: 15px 18px; text-transform: uppercase; transition: background .2s ease, transform .2s ease; }
.admin-save:hover { background: var(--gold-light); transform: translateY(-2px); }
.admin-save:disabled { cursor: wait; opacity: .6; }
.admin-help-card h2 { font-family: Georgia, serif; font-size: 32px; line-height: .95; margin: 28px 0 25px; }
.admin-help-card ul { list-style: none; margin: 0; padding: 0; }
.admin-help-card li { border-top: 1px solid rgba(250,243,227,.26); font-size: 12px; line-height: 1.45; padding: 13px 0; }
.admin-help-card li strong { color: var(--gold-light); font-family: var(--font-geist-mono), monospace; font-size: 11px; }
.admin-tip { border-top: 1px solid rgba(250,243,227,.26); color: rgba(250,243,227,.75); font-size: 11px; line-height: 1.5; margin: 19px 0 0; padding-top: 17px; }
.admin-preview-link { color: var(--gold-light); display: inline-block; font-size: 11px; font-weight: 900; margin-top: 27px; text-transform: uppercase; }

@media (max-width: 820px) {
  .admin-header { align-items: flex-start; flex-direction: column; }
  .admin-account { align-items: flex-start; text-align: left; }
  .admin-layout { display: flex; flex-direction: column; }
  .admin-json { min-height: 540px; }
}

/* Admin product surface */
.admin-login-shell { align-items: center; display: grid; isolation: isolate; justify-items: center; min-height: 100svh; overflow: hidden; padding: 32px 22px; position: relative; }
.admin-login-shell::before { background: radial-gradient(circle at 15% 15%, rgba(232,197,104,.17), transparent 28%), radial-gradient(circle at 85% 82%, rgba(181,7,36,.22), transparent 32%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: -2; }
.admin-login-orbit { border: 1px solid rgba(232,197,104,.18); border-radius: 50%; height: 48vw; max-height: 650px; max-width: 650px; position: absolute; width: 48vw; z-index: -1; }
.admin-login-orbit-one { left: -18vw; top: -22vw; }
.admin-login-orbit-two { bottom: -25vw; right: -17vw; }
.admin-login-card { background: rgba(26,26,32,.92); border: 1px solid rgba(250,243,227,.18); box-shadow: 0 28px 90px rgba(0,0,0,.28); max-width: 510px; padding: clamp(29px, 6vw, 58px); width: 100%; }
.admin-login-mark { align-items: center; background: var(--gold); border: 2px solid var(--ink); border-radius: 50%; display: flex; height: 55px; justify-content: center; margin-bottom: 33px; overflow: hidden; width: 55px; }
.admin-login-mark img { height: 100%; object-fit: contain; padding: 3px; width: 100%; }
.admin-login-card h1 { color: var(--paper); font-size: clamp(47px, 7vw, 76px); line-height: .88; }
.admin-login-card h1 em { color: var(--gold); font-style: italic; }
.admin-login-intro { color: rgba(250,243,227,.67); font-size: 14px; line-height: 1.6; margin: 25px 0 30px; max-width: 385px; }
.admin-login-form, .admin-password-form { display: grid; gap: 14px; }
.admin-login-form label, .admin-password-form label { color: rgba(250,243,227,.72); display: grid; font-size: 10px; font-weight: 900; gap: 7px; letter-spacing: .1em; text-transform: uppercase; }
.admin-login-form input, .admin-password-form input { background: #0d0d11; border: 1px solid rgba(250,243,227,.2); border-radius: 0; color: var(--paper); font: 14px var(--font-geist-sans), Arial, sans-serif; min-height: 48px; outline: none; padding: 0 14px; }
.admin-login-form input:focus, .admin-password-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(232,197,104,.13); }
.admin-login-button { align-items: center; border: 0; display: flex; justify-content: space-between; margin-top: 7px; width: 100%; }
.admin-login-button span, .admin-save span { font-size: 18px; }
.admin-form-status { color: var(--red-bright); font-size: 11px; line-height: 1.45; margin: 12px 0 0; min-height: 16px; }
.admin-form-status:not(.is-visible) { visibility: hidden; }
.admin-back-link { color: rgba(250,243,227,.58); display: inline-block; font-size: 11px; margin-top: 22px; transition: color .2s ease; }
.admin-back-link:hover { color: var(--gold); }
.admin-dashboard-shell { background: #111116; padding-bottom: 82px; }
.admin-dashboard-header { align-items: center; border-bottom: 1px solid rgba(250,243,227,.15); display: flex; justify-content: space-between; margin: 0 auto 70px; max-width: 1280px; padding-bottom: 18px; }
.admin-header-brand { align-items: center; display: flex; gap: 10px; }
.admin-header-brand img { background: var(--paper); border: 1px solid var(--gold); border-radius: 50%; height: 38px; object-fit: contain; padding: 2px; width: 38px; }
.admin-header-brand span { display: grid; gap: 2px; }
.admin-header-brand strong { color: var(--gold); font-family: Georgia, serif; font-size: 19px; font-style: italic; }
.admin-header-brand small { color: rgba(250,243,227,.55); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.admin-dashboard-actions { align-items: center; display: flex; gap: 18px; }
.admin-dashboard-actions a, .admin-dashboard-actions button { background: transparent; border: 0; color: var(--paper); cursor: pointer; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.admin-dashboard-actions a:hover, .admin-dashboard-actions button:hover { color: var(--gold); }
.admin-dashboard-intro { align-items: end; display: flex; gap: 40px; justify-content: space-between; margin: 0 auto 38px; max-width: 1280px; }
.admin-dashboard-intro h1 { color: var(--paper); font-size: clamp(54px, 7vw, 92px); line-height: .86; }
.admin-dashboard-intro h1 em { color: var(--gold); font-style: italic; }
.admin-dashboard-intro > p { color: rgba(250,243,227,.62); font-size: 14px; line-height: 1.6; margin: 0 0 4px; max-width: 300px; }
.admin-security-alert { align-items: center; background: rgba(232,197,104,.1); border: 1px solid rgba(232,197,104,.4); display: flex; gap: 14px; margin: 0 auto 18px; max-width: 1280px; padding: 14px 17px; }
.admin-security-alert > span { align-items: center; background: var(--gold); border-radius: 50%; color: var(--ink); display: inline-flex; font-weight: 950; height: 24px; justify-content: center; width: 24px; }
.admin-security-alert div { display: grid; gap: 4px; }
.admin-security-alert strong { font-size: 12px; }
.admin-security-alert small { color: rgba(250,243,227,.62); font-size: 11px; }
.admin-security-alert a { color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .07em; margin-left: auto; text-transform: uppercase; white-space: nowrap; }
.admin-dashboard-grid { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .7fr); margin: 0 auto; max-width: 1280px; }
.admin-main-column, .admin-side-column { display: grid; gap: 18px; }
.admin-panel-card { border: 1px solid rgba(250,243,227,.17); padding: clamp(18px, 3vw, 26px); }
.admin-content-card, .admin-media-card { background: #1a1a20; }
.admin-guide-card { background: var(--red); }
.admin-password-card { background: var(--gold-light); color: var(--ink); }
.admin-password-card .admin-badge { background: var(--red); color: #fff; }
.admin-card-heading { align-items: start; display: flex; gap: 15px; justify-content: space-between; margin-bottom: 14px; }
.admin-card-heading > div { align-items: center; display: flex; flex-wrap: wrap; gap: 11px; }
.admin-card-heading h2 { color: var(--paper); font-family: var(--font-geist-sans), Arial, sans-serif; font-size: 17px; letter-spacing: -.04em; margin: 0; }
.admin-status { color: rgba(250,243,227,.58); font-size: 10px; line-height: 1.4; text-align: right; }
.admin-badge { background: var(--gold); color: var(--ink); display: inline-flex; font-size: 9px; font-weight: 950; letter-spacing: .12em; padding: 6px 8px; white-space: nowrap; }
.admin-badge-red { background: var(--red); color: #fff; }
.admin-badge-gold { background: var(--gold-light); }
.admin-card-description { color: rgba(250,243,227,.58); font-size: 12px; line-height: 1.5; margin: 0 0 17px; max-width: 650px; }
.admin-loading-state { border: 1px dashed rgba(250,243,227,.22); color: rgba(250,243,227,.58); font-size: 12px; padding: 28px; }
.admin-content-form { display: grid; gap: 4px; }
.admin-form-section { border-top: 1px solid rgba(250,243,227,.14); padding: 22px 0 8px; }
.admin-form-section:first-child { border-top: 0; padding-top: 0; }
.admin-form-section-heading { align-items: center; color: var(--gold); display: flex; font-size: 10px; font-weight: 950; gap: 12px; letter-spacing: .12em; margin-bottom: 14px; text-transform: uppercase; }
.admin-form-section-heading i { background: rgba(232,197,104,.3); display: block; height: 1px; width: 32px; }
.admin-field-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-field { color: rgba(250,243,227,.65); display: grid; font-size: 10px; font-weight: 800; gap: 7px; letter-spacing: .06em; min-width: 0; text-transform: uppercase; }
.admin-field-wide { grid-column: 1 / -1; }
.admin-field input, .admin-field textarea { background: #0d0d11; border: 1px solid rgba(250,243,227,.17); border-radius: 0; color: var(--paper); font: 13px/1.45 var(--font-geist-sans), Arial, sans-serif; min-height: 43px; outline: 0; padding: 10px 12px; resize: vertical; transition: border-color .2s ease, box-shadow .2s ease; width: 100%; }
.admin-field textarea { min-height: 80px; }
.admin-field input:focus, .admin-field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(232,197,104,.12); }
.admin-color-field { color: rgba(250,243,227,.65); display: grid; font-size: 10px; font-weight: 800; gap: 7px; letter-spacing: .06em; text-transform: uppercase; }
.admin-color-field > div { align-items: center; display: flex; gap: 8px; }
.admin-color-picker { background: #0d0d11; border: 1px solid rgba(250,243,227,.17); cursor: pointer; height: 43px; padding: 4px; width: 52px; }
.admin-color-text { background: #0d0d11; border: 1px solid rgba(250,243,227,.17); color: var(--paper); font: 13px var(--font-geist-mono), monospace; height: 43px; min-width: 0; outline: 0; padding: 0 11px; text-transform: uppercase; width: 120px; }
.admin-color-picker:focus, .admin-color-text:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(232,197,104,.12); }
.admin-category-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-category-card { background: #111116; border: 1px solid rgba(250,243,227,.12); display: grid; gap: 10px; padding: 14px; }
.admin-category-number { color: var(--gold-light); font-size: 9px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.admin-category-card .admin-field { font-size: 9px; }
.admin-category-card .admin-field input { min-height: 38px; }
.admin-content-card .admin-json { min-height: 590px; }
.admin-json { border-radius: 0; }
.admin-save { align-items: center; display: inline-flex; gap: 18px; justify-content: space-between; min-width: 190px; }
.admin-guide-card h2, .admin-password-card h2 { color: var(--paper); font-family: Georgia, serif; font-size: 35px; letter-spacing: -.07em; line-height: .92; margin: 26px 0 27px; }
.admin-guide-card ul { list-style: none; margin: 0; padding: 0; }
.admin-guide-card li { border-top: 1px solid rgba(250,243,227,.25); display: grid; gap: 4px; padding: 13px 0; }
.admin-guide-card li strong { color: var(--gold-light); font: 11px var(--font-geist-mono), monospace; }
.admin-guide-card li span { color: rgba(250,243,227,.72); font-size: 11px; }
.admin-preview-link { color: var(--gold-light); display: inline-block; font-size: 10px; font-weight: 900; letter-spacing: .08em; margin-top: 25px; text-transform: uppercase; }
.admin-password-card h2 { color: var(--ink); margin-bottom: 13px; }
.admin-password-card > p { color: rgba(17,17,22,.66); font-size: 12px; line-height: 1.5; margin: 0 0 21px; }
.admin-password-form label { color: rgba(17,17,22,.72); }
.admin-password-form input { background: rgba(250,243,227,.75); border-color: rgba(17,17,22,.24); color: var(--ink); }
.admin-password-form small { color: rgba(17,17,22,.62); font-size: 10px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.admin-outline-button { background: var(--ink); border: 1px solid var(--ink); color: var(--paper); cursor: pointer; font-size: 10px; font-weight: 900; letter-spacing: .08em; margin-top: 4px; padding: 14px 16px; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.admin-outline-button:hover { background: transparent; color: var(--ink); }
.admin-password-card .admin-form-status { color: var(--red); }
.admin-media-card .admin-card-heading { margin-bottom: 21px; }
.admin-upload-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); }
.admin-upload-card { background: #111116; border: 1px dashed rgba(250,243,227,.25); cursor: pointer; display: flex; flex-direction: column; min-height: 220px; padding: 12px; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.admin-upload-card:hover { background: #202027; border-color: var(--gold); transform: translateY(-2px); }
.admin-upload-preview { align-items: center; background: #202027; display: flex; height: 116px; justify-content: center; margin-bottom: 12px; overflow: hidden; }
.admin-upload-preview img { display: block; height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.admin-logo-upload-card .admin-upload-preview img { object-fit: contain; padding: 10px; }
.admin-upload-card:hover .admin-upload-preview img { transform: scale(1.04); }
.admin-upload-preview span { color: rgba(250,243,227,.45); font-size: 10px; text-transform: uppercase; }
.admin-upload-label { color: var(--paper); font-size: 11px; font-weight: 900; }
.admin-upload-card small { color: rgba(250,243,227,.55); font-size: 10px; line-height: 1.35; margin-top: 7px; }
.admin-upload-button { align-items: center; border-top: 1px solid rgba(250,243,227,.2); color: var(--gold); display: flex; font-size: 9px; font-weight: 900; justify-content: space-between; letter-spacing: .08em; margin-top: auto; padding-top: 13px; text-transform: uppercase; }
.admin-upload-button span { font-size: 16px; }
.admin-upload-card input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.admin-upload-note { color: rgba(250,243,227,.52); font-size: 10px; line-height: 1.45; margin: 15px 0 0; }

@media (max-width: 900px) {
  .admin-dashboard-grid { grid-template-columns: 1fr; }
  .admin-side-column { grid-template-columns: 1fr 1fr; }
  .admin-upload-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-category-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .admin-dashboard-shell { padding-left: 17px; padding-right: 17px; }
  .admin-dashboard-header { margin-bottom: 50px; }
  .admin-dashboard-actions { gap: 10px; }
  .admin-dashboard-actions a, .admin-dashboard-actions button { font-size: 9px; }
  .admin-dashboard-intro { align-items: start; flex-direction: column; gap: 22px; }
  .admin-dashboard-intro > p { max-width: 390px; }
  .admin-security-alert { align-items: start; flex-wrap: wrap; }
  .admin-security-alert a { margin-left: 38px; }
  .admin-card-heading { flex-direction: column; }
  .admin-status { text-align: left; }
  .admin-side-column { display: grid; grid-template-columns: 1fr; }
  .admin-content-card .admin-json { min-height: 500px; }
  .admin-upload-grid { grid-template-columns: 1fr 1fr; }
  .admin-field-grid { grid-template-columns: 1fr; }
  .admin-field-wide { grid-column: auto; }
}

@media (max-width: 390px) {
  .admin-upload-grid { grid-template-columns: 1fr; }
  .admin-login-card { padding: 28px 20px; }
}
