  :root{
    --bg:#070b14;
    --bg-2:#0b1120;
    --surface:#0f1729;
    --surface-2:#131d33;
    --line:rgba(120,170,225,0.16);
    --line-strong:rgba(120,170,225,0.32);
    --ink:#eaf1f8;
    --muted:#93a7c0;
    --muted-2:#6f859f;
    --water-1:#7cc4f5;
    --water-2:#2e7bc4;
    --gold-1:#ffd166;
    --gold-2:#ff8c1a;
    --green:#74cf3f;
    --chrome: linear-gradient(180deg,#ffffff 0%,#cfe6fb 38%,#7fb6e6 52%,#e9f4ff 70%,#a9cdf0 100%);
    --gold-grad: linear-gradient(180deg,#ffe49a 0%,#ffb23e 45%,#ff7a18 100%);
    --water-grad: linear-gradient(135deg,#7cc4f5 0%,#2e7bc4 100%);
    --maxw:1160px;
    --r:18px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:
      radial-gradient(1200px 700px at 78% -10%, rgba(46,123,196,0.22), transparent 60%),
      radial-gradient(900px 600px at 8% 110%, rgba(255,140,26,0.12), transparent 55%),
      var(--bg);
    color:var(--ink);
    font-family:"Inter",system-ui,-apple-system,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    -webkit-text-size-adjust:100%;
    overflow-x:hidden;
    min-height:100vh;
  }
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}

  /* ---------- header / nav ---------- */
  header{
    position:sticky;top:0;z-index:50;
    backdrop-filter:blur(14px);
    background:linear-gradient(180deg, rgba(7,11,20,0.92), rgba(7,11,20,0.62));
    border-bottom:1px solid var(--line);
  }
  .nav{
    max-width:var(--maxw);margin:0 auto;padding:14px 22px;
    display:flex;align-items:center;justify-content:space-between;gap:18px;
  }
  .brand{display:flex;align-items:center;gap:13px;cursor:pointer;}
  .brand-badge{
    width:42px;height:42px;border-radius:11px;flex:none;
    background:var(--water-grad);
    display:grid;place-items:center;
    font-family:"Saira",sans-serif;font-style:italic;font-weight:800;
    font-size:19px;letter-spacing:-1px;color:#06121f;
    box-shadow:0 6px 18px rgba(46,123,196,0.45), inset 0 1px 0 rgba(255,255,255,0.6);
  }
  .brand-name{font-family:"Saira",sans-serif;font-weight:800;font-style:italic;letter-spacing:0.5px;font-size:18px;line-height:1;}
  .brand-name small{display:block;font-style:normal;font-weight:600;font-size:10px;letter-spacing:3px;color:var(--gold-1);margin-top:4px;}
  nav.tabs{display:flex;gap:4px;}
  nav.tabs button, nav.tabs a{ display:inline-block;
    font-family:"Saira",sans-serif;font-weight:600;font-size:14px;letter-spacing:0.6px;
    background:transparent;border:0;color:var(--muted);
    padding:10px 16px;border-radius:10px;cursor:pointer;position:relative;
    transition:color .2s ease, background .2s ease;text-transform:uppercase;
  }
  nav.tabs button:hover, nav.tabs a:hover{color:var(--ink);background:rgba(124,196,245,0.07);}
  nav.tabs button.active, nav.tabs a.active{color:var(--ink);}
  nav.tabs button.active::after, nav.tabs a.active::after{
    content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;border-radius:2px;
    background:var(--gold-grad);box-shadow:0 0 12px rgba(255,140,26,0.6);
  }
  .nav-call{
    display:inline-flex;align-items:center;gap:8px;
    font-family:"Saira",sans-serif;font-weight:700;font-size:14px;letter-spacing:0.4px;
    background:var(--gold-grad);color:#1a0d00;padding:9px 15px;border-radius:10px;
    box-shadow:0 6px 16px rgba(255,140,26,0.35);transition:transform .15s ease, box-shadow .2s ease;
  }
  .nav-call:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(255,140,26,0.5);}
  .menu-toggle{display:none;background:transparent;border:1px solid var(--line-strong);color:var(--ink);border-radius:9px;padding:8px 11px;cursor:pointer;font-size:18px;}

  /* ---------- page system ---------- */
  main{max-width:var(--maxw);margin:0 auto;padding:0 22px 90px;}
  .page{display:none;animation:fade .45s ease both;}
  .page.active{display:block;}
  @keyframes fade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

  .eyebrow{
    font-family:"Saira",sans-serif;font-weight:700;letter-spacing:4px;font-size:12px;
    text-transform:uppercase;color:var(--gold-1);display:inline-flex;align-items:center;gap:10px;
  }
  .eyebrow::before{content:"";width:30px;height:2px;background:var(--gold-grad);display:inline-block;}

  h1,h2,h3{font-family:"Saira",sans-serif;font-weight:800;letter-spacing:-0.5px;line-height:1.04;margin:0;}
  .section-title{font-size:clamp(30px,4.4vw,52px);font-style:italic;margin:16px 0 14px;}
  .lead{color:var(--muted);font-size:18px;max-width:62ch;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;margin-top:34px;border-radius:26px;overflow:hidden;
    border:1px solid var(--line);
    background:
      radial-gradient(700px 360px at 85% 12%, rgba(46,123,196,0.3), transparent 60%),
      linear-gradient(180deg,#0c1426,#080d18);
    box-shadow:0 30px 80px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.05);
  }
  /* signature: gold shine sweep echoing the card's light streak */
  .hero::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(115deg,transparent 38%,rgba(255,209,102,0.18) 49%,rgba(255,255,255,0.32) 51%,rgba(255,176,62,0.12) 54%,transparent 64%);
    transform:translateX(-30%);
    animation:sweep 6.5s ease-in-out infinite;
  }
  @keyframes sweep{0%,72%{transform:translateX(-60%);}88%,100%{transform:translateX(60%);}}
  .hero-inner{
    position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 0.95fr;gap:14px;align-items:center;
    padding:46px clamp(26px,4vw,56px);
  }
  .hero h1{font-size:clamp(40px,6vw,76px);font-style:italic;}
  .wordmark{
    background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent;
    filter:drop-shadow(0 2px 1px rgba(0,0,0,0.4));
  }
  .hero .tagline{
    font-family:"Saira",sans-serif;font-style:italic;font-weight:700;font-size:clamp(16px,2.2vw,22px);
    color:var(--water-1);margin:14px 0 8px;
  }
  .hero p.lead{margin-top:6px;}
  .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
  .btn{
    font-family:"Saira",sans-serif;font-weight:700;letter-spacing:0.5px;font-size:15px;
    padding:13px 22px;border-radius:12px;cursor:pointer;border:1px solid transparent;
    display:inline-flex;align-items:center;gap:9px;transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  }
  .btn-gold{background:var(--gold-grad);color:#1a0d00;box-shadow:0 8px 20px rgba(255,140,26,0.4);}
  .btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,140,26,0.55);}
  .btn-ghost{background:rgba(124,196,245,0.06);border-color:var(--line-strong);color:var(--ink);}
  .btn-ghost:hover{background:rgba(124,196,245,0.14);transform:translateY(-2px);}
  .hero-logo{position:relative;}
  .hero-logo img{
    width:100%;border-radius:16px;border:1px solid var(--line-strong);
    box-shadow:0 24px 60px rgba(0,0,0,0.6);
  }
  .hero-logo .gloss{
    position:absolute;inset:0;border-radius:16px;pointer-events:none;
    background:linear-gradient(160deg,rgba(255,255,255,0.16),transparent 40%);
  }

  /* trust strip */
  .strip{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:30px;
    background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  }
  .strip div{background:var(--surface);padding:22px 20px;}
  .strip .k{font-family:"Saira",sans-serif;font-style:italic;font-weight:800;font-size:26px;color:var(--ink);}
  .strip .v{color:var(--muted);font-size:13px;letter-spacing:0.3px;margin-top:2px;}
  .strip .k.gold{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}

  /* about blocks */
  .about{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:46px;}
  .card{
    background:linear-gradient(180deg,var(--surface),var(--bg-2));
    border:1px solid var(--line);border-radius:var(--r);padding:28px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
  }
  .card h3{font-size:20px;font-style:italic;margin-bottom:10px;}
  .card p{color:var(--muted);margin:0;}
  .owner{display:flex;align-items:center;gap:16px;margin-top:6px;}
  .owner-badge{
    width:54px;height:54px;border-radius:14px;flex:none;background:var(--water-grad);
    display:grid;place-items:center;font-family:"Saira";font-weight:800;font-style:italic;color:#06121f;font-size:20px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);
  }
  .owner b{font-family:"Saira",sans-serif;font-weight:700;font-size:17px;}
  .owner span{display:block;color:var(--muted);font-size:13px;}

  /* ---------- SERVICES ---------- */
  .page-head{margin-top:42px;}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;}
  .svc{
    position:relative;background:linear-gradient(180deg,var(--surface),var(--bg-2));
    border:1px solid var(--line);border-radius:var(--r);padding:24px 22px 22px;
    overflow:hidden;transition:transform .2s ease, border-color .2s ease;
  }
  .svc:hover{transform:translateY(-4px);border-color:var(--line-strong);}
  .svc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--water-grad);opacity:0.8;}
  .svc.feat::before{background:var(--gold-grad);}
  .svc .num{font-family:"Saira";font-style:italic;font-weight:800;font-size:13px;color:var(--muted-2);letter-spacing:1px;}
  .svc h3{font-size:19px;font-style:italic;margin:10px 0 8px;}
  .svc p{color:var(--muted);font-size:14.5px;margin:0;}
  .svc .tag{
    display:inline-block;margin-top:14px;font-family:"Saira";font-weight:700;font-size:11px;letter-spacing:1.5px;
    text-transform:uppercase;color:var(--green);
  }
  .svc-cta{
    margin-top:30px;border-radius:var(--r);border:1px solid var(--line-strong);
    background:radial-gradient(600px 200px at 20% 0%, rgba(255,140,26,0.16), transparent 60%),linear-gradient(180deg,var(--surface),var(--bg-2));
    padding:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  }
  .svc-cta h3{font-size:24px;font-style:italic;}
  .svc-cta p{color:var(--muted);margin:6px 0 0;}

  /* ---------- GALLERY ---------- */
  .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;}
  .tile{
    position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;
    border:1px solid var(--line);cursor:default;
  }
  .tile .paint{position:absolute;inset:0;}
  .tile .shine{
    position:absolute;inset:0;
    background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,0.22) 50%,transparent 60%);
    transform:translateX(-100%);transition:transform .7s ease;
  }
  .tile:hover .shine{transform:translateX(100%);}
  .tile .label{
    position:absolute;left:0;right:0;bottom:0;padding:16px 16px 14px;
    background:linear-gradient(0deg,rgba(4,7,14,0.92),transparent);
    z-index:2;
  }
  .tile .label b{font-family:"Saira";font-weight:700;font-style:italic;font-size:16px;display:block;}
  .tile .label span{color:var(--muted);font-size:12.5px;}
  .tile .ba{
    position:absolute;top:12px;left:12px;z-index:2;font-family:"Saira";font-weight:700;font-size:10px;
    letter-spacing:1.5px;text-transform:uppercase;padding:5px 9px;border-radius:7px;
    background:rgba(7,11,20,0.7);border:1px solid var(--line-strong);color:var(--water-1);
  }
  .tile.feat .ba{color:var(--gold-1);}
  .gal-note{
    margin-top:24px;padding:18px 20px;border-radius:14px;border:1px dashed var(--line-strong);
    background:rgba(124,196,245,0.04);color:var(--muted);font-size:14px;display:flex;gap:12px;align-items:flex-start;
  }
  .gal-note b{color:var(--ink);font-family:"Saira";font-style:italic;}

  /* ---------- LOCATION ---------- */
  .loc-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:18px;margin-top:34px;align-items:stretch;}
  .map-wrap{border-radius:var(--r);overflow:hidden;border:1px solid var(--line-strong);min-height:420px;box-shadow:0 20px 50px rgba(0,0,0,0.5);}
  .map-wrap iframe{width:100%;height:100%;min-height:420px;border:0;filter:saturate(1.05) contrast(1.02);display:block;}
  .info-col{display:flex;flex-direction:column;gap:14px;}
  .info{
    background:linear-gradient(180deg,var(--surface),var(--bg-2));
    border:1px solid var(--line);border-radius:var(--r);padding:24px;
  }
  .info .lbl{font-family:"Saira";font-weight:700;letter-spacing:2px;font-size:11px;text-transform:uppercase;color:var(--gold-1);}
  .info .big{font-family:"Saira";font-style:italic;font-weight:700;font-size:20px;margin-top:6px;}
  .info p{color:var(--muted);margin:6px 0 0;}
  .info a.line{color:var(--water-1);font-weight:600;}
  .dir-btn{margin-top:16px;}
  footer{border-top:1px solid var(--line);}
  .foot{max-width:var(--maxw);margin:0 auto;padding:26px 22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted-2);font-size:13px;}
  .foot a{color:var(--muted);}

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    .hero-inner{grid-template-columns:1fr;}
    .hero-logo{order:-1;max-width:420px;}
    .about{grid-template-columns:1fr;}
    .svc-grid{grid-template-columns:repeat(2,1fr);}
    .gal-grid{grid-template-columns:repeat(2,1fr);}
    .loc-grid{grid-template-columns:1fr;}
    .strip{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:640px){
    .nav-call span.full{display:none;}
    .nav{padding:12px 16px;}
    nav.tabs{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
      background:var(--bg-2);border-bottom:1px solid var(--line);padding:8px;display:none;}
    nav.tabs.open{display:flex;}
    nav.tabs button, nav.tabs a{text-align:left;border-radius:9px;padding:14px 16px;font-size:15px;}
    nav.tabs button.active::after, nav.tabs a.active::after{display:none;}
    nav.tabs button.active, nav.tabs a.active{background:rgba(255,140,26,0.1);}
    .menu-toggle{display:inline-block;min-width:42px;min-height:42px;}
    main{padding-left:16px;padding-right:16px;padding-bottom:60px;}
    .svc-grid{grid-template-columns:1fr;}
    .gal-grid{grid-template-columns:1fr 1fr;gap:10px;}
    .strip{grid-template-columns:1fr 1fr;}
    .hero-inner{padding:30px 20px;}
    .hero{margin-top:22px;}
    .gal-head{align-items:flex-start;}
    .gal-head #manageBtn{width:100%;}
    .lightbox{padding:16px;}
    .lightbox img{max-height:74vh;}
  }
  @media (max-width:380px){
    .gal-grid{grid-template-columns:1fr;}
    .strip{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion:reduce){
    .hero::after,.tile .shine{animation:none;transition:none;}
    .page{animation:none;}
    html{scroll-behavior:auto;}
  }

  /* ---------- gallery photos ---------- */
  .tile .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
  .tile.has-photo{cursor:zoom-in;}

  /* ---------- admin / manage ---------- */
  .gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;}
  .admin-bar{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;}
  .drop{border:1.5px dashed var(--line-strong);border-radius:var(--r);background:rgba(124,196,245,0.04);cursor:pointer;transition:background .2s,border-color .2s;display:flex;}
  .drop:hover,.drop.over{background:rgba(124,196,245,0.1);border-color:var(--water-1);}
  .drop-inner{display:flex;align-items:center;gap:16px;padding:24px;}
  .drop-ico{width:46px;height:46px;border-radius:12px;background:var(--water-grad);display:grid;place-items:center;font-size:20px;color:#06121f;flex:none;box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);}
  .drop-inner b{font-family:"Saira";font-style:italic;font-weight:700;display:block;}
  .drop-inner span{color:var(--muted);font-size:13px;}
  .admin-actions{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;}
  .mini-label{font-family:"Saira";font-weight:700;letter-spacing:2px;font-size:10px;text-transform:uppercase;color:var(--gold-1);}
  .sel{width:100%;margin-top:8px;background:var(--bg-2);color:var(--ink);border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font-family:"Inter",sans-serif;font-size:14px;}
  .admin-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
  .btn.sm{padding:9px 13px;font-size:13px;border-radius:10px;}
  .btn.danger{color:#ff9b8a;border-color:rgba(255,90,70,0.4);background:rgba(255,90,70,0.05);}
  .btn.danger:hover{background:rgba(255,90,70,0.14);}
  .admin-list{display:flex;flex-direction:column;gap:10px;margin-top:16px;}
  .admin-item{display:grid;grid-template-columns:96px 1fr auto;gap:14px;align-items:center;background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line);border-radius:14px;padding:12px;}
  .admin-item>img{width:96px;height:72px;object-fit:cover;border-radius:9px;border:1px solid var(--line-strong);}
  .admin-fields{display:flex;flex-direction:column;gap:8px;min-width:0;}
  .admin-fields input.cap{background:var(--bg-2);color:var(--ink);border:1px solid var(--line-strong);border-radius:9px;padding:9px 11px;font-family:"Inter",sans-serif;font-size:14px;width:100%;}
  .admin-fields .sel{margin-top:0;max-width:260px;}
  .admin-ctrls{display:flex;gap:6px;align-items:center;}
  .iconbtn{background:rgba(124,196,245,0.07);border:1px solid var(--line-strong);color:var(--ink);border-radius:9px;width:38px;height:38px;cursor:pointer;font-size:15px;display:grid;place-items:center;transition:background .15s;}
  .iconbtn:hover{background:rgba(124,196,245,0.16);}
  .iconbtn:disabled{opacity:.3;cursor:default;}
  .iconbtn.del:hover{background:rgba(255,90,70,0.16);color:#ff9b8a;}
  .admin-empty{margin-top:18px;padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--r);}

  /* ---------- lightbox ---------- */
  .lightbox{position:fixed;inset:0;z-index:100;background:rgba(4,7,14,0.93);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:30px;cursor:zoom-out;backdrop-filter:blur(4px);}
  .lightbox.open{display:flex;}
  .lightbox img{max-width:92vw;max-height:80vh;border-radius:14px;border:1px solid var(--line-strong);box-shadow:0 30px 80px rgba(0,0,0,0.7);}
  .lightbox-cap{font-family:"Saira",sans-serif;font-style:italic;font-weight:700;font-size:17px;color:var(--ink);text-align:center;}

  /* ---------- login modal ---------- */
  .modal{position:fixed;inset:0;z-index:120;background:rgba(4,7,14,0.86);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:24px;}
  .modal.open{display:flex;}
  .modal-card{width:100%;max-width:380px;background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line-strong);border-radius:18px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,0.6);}
  .modal-card h3{font-size:22px;font-style:italic;margin:12px 0 18px;}
  .field-label{font-family:"Saira",sans-serif;font-weight:700;letter-spacing:1.5px;font-size:10px;text-transform:uppercase;color:var(--gold-1);display:block;margin:14px 0 6px;}
  .field{width:100%;background:var(--bg-2);color:var(--ink);border:1px solid var(--line-strong);border-radius:10px;padding:11px 13px;font-family:"Inter",sans-serif;font-size:15px;}
  .field:focus{outline:none;border-color:var(--water-1);box-shadow:0 0 0 3px rgba(124,196,245,0.18);}
  .login-err{color:#ff9b8a;font-size:13.5px;min-height:18px;margin-top:12px;}
  .modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap;}
  .modal-sub{color:var(--muted);font-size:13.5px;margin:0 0 4px;}
  .linklike{background:none;border:0;color:var(--water-1);font-size:13.5px;cursor:pointer;padding:6px 2px;font-family:"Inter",sans-serif;text-decoration:underline;text-underline-offset:2px;}
  .linklike:hover{color:#a9d6f7;}

  /* ---------- content editor ---------- */
  .edit-overlay{position:fixed;inset:0;z-index:130;background:var(--bg);display:none;flex-direction:column;overflow:hidden;}
  .edit-overlay.open{display:flex;}
  .edit-bar{flex:none;background:linear-gradient(180deg,rgba(7,11,20,.96),rgba(7,11,20,.8));backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
  .edit-bar-inner{max-width:820px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:10px;}
  .edit-bar-inner b{font-family:"Saira",sans-serif;font-style:italic;font-weight:800;font-size:17px;}
  .edit-body{flex:1 1 auto;min-height:0;max-width:820px;margin:0 auto;width:100%;padding:24px 20px 80px;overflow-y:auto;}
  .edit-group{margin-bottom:30px;}
  .edit-group > h4{font-family:"Saira",sans-serif;font-style:italic;font-weight:800;font-size:20px;margin:0 0 4px;}
  .edit-group > .eg-sub{color:var(--muted);font-size:13px;margin:0 0 16px;}
  .edit-field{margin-bottom:14px;}
  .edit-field > label{display:block;font-family:"Saira",sans-serif;font-weight:700;letter-spacing:1px;font-size:10.5px;text-transform:uppercase;color:var(--gold-1);margin:0 0 6px;}
  .edit-field input[type=text], .edit-field textarea{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:10px;padding:11px 13px;font-family:"Inter",sans-serif;font-size:15px;}
  .edit-field textarea{min-height:90px;resize:vertical;line-height:1.5;}
  .edit-field input:focus, .edit-field textarea:focus{outline:none;border-color:var(--water-1);box-shadow:0 0 0 3px rgba(124,196,245,.18);}
  .stat-row, .svc-row{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start;}
  .stat-row input{flex:1;}
  .svc-edit{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;}
  .svc-edit .svc-edit-head{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
  .svc-edit .svc-edit-head input{flex:1;font-weight:600;}
  .svc-edit textarea{min-height:64px;}
  .row-ctrls{display:flex;gap:6px;flex:none;}
  .addbtn{margin-top:4px;}
  @media (max-width:600px){
    .stat-row{flex-wrap:wrap;}
    .stat-row input{min-width:100%;}
  }
  /* Inputs at 16px on phones so iOS Safari doesn't zoom on focus */
  @media (max-width:640px){
    input, select, textarea, .field, .sel, .cap, .album-new input{font-size:16px;}
  }

  /* ---------- album chips (public) ---------- */
  .chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;margin-top:24px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .chips::-webkit-scrollbar{display:none;}
  .chip{flex:none;font-family:"Saira",sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.3px;color:var(--muted);background:rgba(124,196,245,.06);border:1px solid var(--line);border-radius:999px;padding:10px 16px;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s,border-color .15s;display:inline-flex;align-items:center;gap:7px;min-height:40px;}
  .chip span{font-size:11px;color:var(--muted-2);background:rgba(255,255,255,.06);border-radius:999px;padding:1px 7px;}
  .chip:hover{color:var(--ink);border-color:var(--line-strong);}
  .chip.active{color:#06121f;background:var(--water-grad);border-color:transparent;}
  .chip.active span{color:#06121f;background:rgba(0,0,0,.16);}
  .empty-album{grid-column:1/-1;padding:44px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--r);}
  /* gallery preview cards */
  .gal-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;margin-top:24px;}
  .gal-card{display:flex;flex-direction:column;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;font-family:inherit;color:inherit;}
  .gal-cover{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:3px;aspect-ratio:4/3;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:0 14px 36px rgba(0,0,0,.35);transition:transform .2s ease, box-shadow .2s ease;}
  .gal-card:hover .gal-cover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.5);}
  .gc-img{position:relative;overflow:hidden;background:var(--bg-2);}
  .gc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
  .gal-card:hover .gc-img img{transform:scale(1.06);}
  .gal-cover.n1 .gc-img{grid-column:1/3;grid-row:1/3;}
  .gal-cover.n2 .gc-img{grid-row:1/3;}
  .gal-cover.n3 .gc-img:nth-child(1){grid-row:1/3;}
  .gc-more{position:absolute;inset:0;background:rgba(7,11,20,.64);display:grid;place-items:center;font-family:"Saira",sans-serif;font-style:italic;font-weight:800;font-size:26px;color:#fff;}
  .gal-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 4px 0;}
  .gal-card-name{font-family:"Saira",sans-serif;font-style:italic;font-weight:800;font-size:19px;min-width:0;overflow-wrap:anywhere;transition:color .15s;}
  .gal-card:hover .gal-card-name{color:var(--water-1);}
  .gal-card-meta span{color:var(--muted-2);font-size:12px;letter-spacing:.5px;white-space:nowrap;}

  /* lightbox controls */
  .lb-close{position:absolute;top:16px;right:18px;width:44px;height:44px;border-radius:11px;border:1px solid var(--line-strong);background:rgba(7,11,20,.6);color:var(--ink);font-size:18px;cursor:pointer;z-index:3;display:grid;place-items:center;}
  .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid var(--line-strong);background:rgba(7,11,20,.6);color:var(--ink);font-size:30px;line-height:0;cursor:pointer;z-index:3;display:grid;place-items:center;padding-bottom:4px;}
  .lb-prev{left:14px;} .lb-next{right:14px;}
  .lb-close:hover,.lb-nav:hover{background:rgba(46,123,196,.45);border-color:var(--water-1);}
  .lb-meta{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;}
  .lb-count{color:var(--muted-2);font-family:"Saira",sans-serif;font-style:italic;font-size:14px;}
  @media (max-width:600px){
    .lb-nav{width:42px;height:42px;font-size:24px;}
    .lb-prev{left:8px;} .lb-next{right:8px;}
  }

  /* ---------- albums manager (admin) ---------- */
  .albums-mgr{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-top:30px;}
  .albums-mgr h4{font-family:"Saira",sans-serif;font-style:italic;font-weight:700;font-size:17px;margin:0 0 4px;}
  .albums-mgr .sub{color:var(--muted);font-size:13px;margin:0 0 14px;}
  .album-new{display:flex;gap:8px;flex-wrap:wrap;}
  .album-new input{flex:1;min-width:170px;background:var(--bg-2);color:var(--ink);border:1px solid var(--line-strong);border-radius:10px;padding:11px 13px;font-family:"Inter",sans-serif;font-size:14px;}
  .album-new input:focus{outline:none;border-color:var(--water-1);box-shadow:0 0 0 3px rgba(124,196,245,.18);}
  .album-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
  .album-pill{display:inline-flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:12px;padding:6px 8px 6px 13px;}
  .album-pill .apname{font-family:"Saira",sans-serif;font-weight:600;font-size:14px;}
  .album-pill .acount{font-size:11px;color:var(--muted-2);background:rgba(124,196,245,.12);border-radius:999px;padding:1px 8px;}
  .iconbtn.sm{width:32px;height:32px;font-size:13px;}
  .muted-note{color:var(--muted);font-size:13px;}
  .field-row{display:flex;gap:8px;flex-wrap:wrap;}
  .field-row .sel{margin-top:0;flex:1;min-width:140px;max-width:none;}

  @media (max-width:760px){
    .admin-bar{grid-template-columns:1fr;}
    .admin-item{grid-template-columns:72px 1fr;}
    .admin-item>img{width:72px;height:56px;}
    .admin-ctrls{grid-column:1/-1;justify-content:flex-end;}
    .admin-fields .sel{max-width:100%;}
  }
