  :root{
    --white:#FFFFFF;
    --grey-50:#F6F7FB;
    --grey-100:#ECEFF5;
    --grey-200:#DEE3ED;
    --ink:#0F1626;
    --ink-soft:#5B6478;
    --blue:#2952E3;
    --blue-dark:#1B3BB0;
    --blue-light:#EAF0FF;
    --emerald:#0E9D6E;
    --emerald-light:#E3F7EF;
    --orange:#F2790A;
    --orange-light:#FFF1E0;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{
    font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
    color:var(--ink);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  .font-display{font-family:'Sora',ui-sans-serif,system-ui,sans-serif;}
  .font-mono{font-family:'Space Mono',ui-monospace,monospace;}
  .accent{
    font-family:'Fraunces',ui-serif,serif;
    font-style:italic;
    font-weight:500;
    color:var(--blue);
  }
  .text-soft{color:var(--ink-soft);}
  .bg-grey{background:var(--grey-50);}
  .coord{
    font-family:'Space Mono',ui-monospace,monospace;
    font-size:.7rem;
    letter-spacing:.06em;
    color:var(--blue);
    display:inline-flex;
    align-items:center;
    gap:.4em;
  }
  .coord::before{
    content:'';
    width:6px;height:6px;border-radius:999px;
    background:var(--blue);
    box-shadow:0 0 0 4px var(--blue-light);
    flex-shrink:0;
  }
  .btn-primary{
    background:var(--blue);
    color:#fff;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    box-shadow:0 1px 2px rgba(15,22,38,.06);
  }
  .btn-primary:hover{background:var(--blue-dark); transform:translateY(-1px); box-shadow:0 8px 20px -6px rgba(41,82,227,.45);}
  .btn-ghost{
    border:1.5px solid var(--grey-200);
    color:var(--ink);
    transition:border-color .15s ease, background .15s ease;
  }
  .btn-ghost:hover{border-color:var(--blue); background:var(--blue-light);}
  .card{
    background:#fff;
    border:1px solid var(--grey-100);
    border-radius:18px;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px -20px rgba(15,22,38,.18);
    border-color:var(--grey-200);
  }
  .pin-marker{
    position:absolute;
    width:12px;height:12px;
    border-radius:999px 999px 999px 0;
    transform:rotate(-45deg);
    background:var(--blue);
    box-shadow:0 0 0 5px rgba(41,82,227,.15);
  }
  .pin-marker.emerald{background:var(--emerald); box-shadow:0 0 0 5px rgba(14,157,110,.15);}
  .pin-marker.orange{background:var(--orange); box-shadow:0 0 0 5px rgba(242,121,10,.15);}
  @keyframes pulse-ring{
    0%{box-shadow:0 0 0 0 rgba(41,82,227,.35);}
    100%{box-shadow:0 0 0 14px rgba(41,82,227,0);}
  }
  .pin-pulse::after{
    content:'';
    position:absolute;
    inset:-6px;
    border-radius:999px;
    animation:pulse-ring 2.2s ease-out infinite;
  }
  .map-line{
    stroke:var(--grey-200);
    stroke-width:1.2;
    stroke-dasharray:3 4;
  }
  .chip{
    border:1.5px solid var(--grey-200);
    background:#fff;
    color:var(--ink-soft);
    font-weight:500;
    transition:all .15s ease;
  }
  .chip:hover, .chip.active{
    border-color:var(--blue);
    background:var(--blue-light);
    color:var(--blue-dark);
  }
  .tab-btn[aria-selected="true"]{
    background:#fff;
    color:var(--ink);
    box-shadow:0 1px 3px rgba(15,22,38,.1);
  }
  .tab-btn{color:var(--ink-soft);}
  .num{
    font-family:'Space Mono',ui-monospace,monospace;
    color:var(--grey-200);
    -webkit-text-stroke:1px var(--ink);
    font-size:2.75rem;
    line-height:1;
  }
  .scrollbar-none::-webkit-scrollbar{display:none;}
  .scrollbar-none{-ms-overflow-style:none; scrollbar-width:none;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
  a:focus-visible, button:focus-visible, input:focus-visible{
    outline:2px solid var(--blue);
    outline-offset:2px;
  }

/* ---- merged from locations.html ---- */
  :root{
    --white:#FFFFFF;
    --grey-50:#F6F7FB;
    --grey-100:#ECEFF5;
    --grey-200:#DEE3ED;
    --ink:#0F1626;
    --ink-soft:#5B6478;
    --blue:#2952E3;
    --blue-dark:#1B3BB0;
    --blue-light:#EAF0FF;
    --emerald:#0E9D6E;
    --emerald-light:#E3F7EF;
    --orange:#F2790A;
    --orange-light:#FFF1E0;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{font-family:'Inter',ui-sans-serif,system-ui,sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  .font-display{font-family:'Sora',ui-sans-serif,system-ui,sans-serif;}
  .font-mono{font-family:'Space Mono',ui-monospace,monospace;}
  .accent{font-family:'Fraunces',ui-serif,serif; font-style:italic; font-weight:500; color:var(--blue);}
  .text-soft{color:var(--ink-soft);}
  .bg-grey{background:var(--grey-50);}
  .coord{font-family:'Space Mono',ui-monospace,monospace; font-size:.7rem; letter-spacing:.06em; color:var(--blue); display:inline-flex; align-items:center; gap:.4em;}
  .coord::before{content:''; width:6px;height:6px;border-radius:999px; background:var(--blue); box-shadow:0 0 0 4px var(--blue-light); flex-shrink:0;}
  .btn-primary{background:var(--blue); color:#fff; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; box-shadow:0 1px 2px rgba(15,22,38,.06);}
  .btn-primary:hover{background:var(--blue-dark); transform:translateY(-1px); box-shadow:0 8px 20px -6px rgba(41,82,227,.45);}
  .btn-ghost{border:1.5px solid var(--grey-200); color:var(--ink); transition:border-color .15s ease, background .15s ease;}
  .btn-ghost:hover{border-color:var(--blue); background:var(--blue-light);}
  .card{background:#fff; border:1px solid var(--grey-100); border-radius:18px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
  .card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(15,22,38,.18); border-color:var(--grey-200);}
  .chip{border:1.5px solid var(--grey-200); background:#fff; color:var(--ink-soft); font-weight:500; transition:all .15s ease;}
  .chip:hover, .chip.active{border-color:var(--blue); background:var(--blue-light); color:var(--blue-dark);}
  .view-btn[aria-pressed="true"]{background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(15,22,38,.1);}
  .view-btn{color:var(--ink-soft);}
  .cb{width:16px; height:16px; border-radius:5px; border:1.5px solid var(--grey-200); accent-color:var(--blue); flex-shrink:0;}
  .pin-marker{position:absolute; width:11px;height:11px; border-radius:999px 999px 999px 0; transform:rotate(-45deg); background:var(--blue); box-shadow:0 0 0 5px rgba(41,82,227,.15);}
  .pin-marker.emerald{background:var(--emerald); box-shadow:0 0 0 5px rgba(14,157,110,.15);}
  .pin-marker.orange{background:var(--orange); box-shadow:0 0 0 5px rgba(242,121,10,.15);}
  .map-line{stroke:var(--grey-200); stroke-width:1.2; stroke-dasharray:3 4;}
  @keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(41,82,227,.35);}100%{box-shadow:0 0 0 14px rgba(41,82,227,0);}}
  .pin-pulse::after{content:''; position:absolute; inset:-6px; border-radius:999px; animation:pulse-ring 2.2s ease-out infinite;}
  @media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}}
  a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--blue); outline-offset:2px;}
  [x-cloak]{display:none !important;}

/* ---- merged from location-detail.html ---- */
  :root{
    --white:#FFFFFF;
    --grey-50:#F6F7FB;
    --grey-100:#ECEFF5;
    --grey-200:#DEE3ED;
    --ink:#0F1626;
    --ink-soft:#5B6478;
    --blue:#2952E3;
    --blue-dark:#1B3BB0;
    --blue-light:#EAF0FF;
    --emerald:#0E9D6E;
    --emerald-light:#E3F7EF;
    --orange:#F2790A;
    --orange-light:#FFF1E0;
    --red:#E0453C;
    --red-light:#FDEDEC;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{font-family:'Inter',ui-sans-serif,system-ui,sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  .font-display{font-family:'Sora',ui-sans-serif,system-ui,sans-serif;}
  .font-mono{font-family:'Space Mono',ui-monospace,monospace;}
  .accent{font-family:'Fraunces',ui-serif,serif; font-style:italic; font-weight:500; color:var(--blue);}
  .text-soft{color:var(--ink-soft);}
  .bg-grey{background:var(--grey-50);}
  .coord{font-family:'Space Mono',ui-monospace,monospace; font-size:.7rem; letter-spacing:.06em; color:var(--blue); display:inline-flex; align-items:center; gap:.4em;}
  .coord::before{content:''; width:6px;height:6px;border-radius:999px; background:var(--blue); box-shadow:0 0 0 4px var(--blue-light); flex-shrink:0;}
  .btn-primary{background:var(--blue); color:#fff; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; box-shadow:0 1px 2px rgba(15,22,38,.06);}
  .btn-primary:hover{background:var(--blue-dark); transform:translateY(-1px); box-shadow:0 8px 20px -6px rgba(41,82,227,.45);}
  .btn-ghost{border:1.5px solid var(--grey-200); color:var(--ink); transition:border-color .15s ease, background .15s ease;}
  .btn-ghost:hover{border-color:var(--blue); background:var(--blue-light);}
  .card{background:#fff; border:1px solid var(--grey-100); border-radius:18px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
  .card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(15,22,38,.18); border-color:var(--grey-200);}
  .chip{border:1.5px solid var(--grey-200); background:#fff; color:var(--ink-soft); font-weight:500; transition:all .15s ease;}
  .chip:hover{border-color:var(--blue); background:var(--blue-light); color:var(--blue-dark);}
  .fact-yes{color:var(--emerald);}
  .fact-no{color:var(--ink-soft); opacity:.55;}
  .scrollbar-none::-webkit-scrollbar{display:none;}
  .scrollbar-none{-ms-overflow-style:none; scrollbar-width:none;}
  @media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}}
  a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--blue); outline-offset:2px;}

/* ---- merged from collections.html ---- */
  :root{
    --white:#FFFFFF;
    --grey-50:#F6F7FB;
    --grey-100:#ECEFF5;
    --grey-200:#DEE3ED;
    --ink:#0F1626;
    --ink-soft:#5B6478;
    --blue:#2952E3;
    --blue-dark:#1B3BB0;
    --blue-light:#EAF0FF;
    --emerald:#0E9D6E;
    --emerald-light:#E3F7EF;
    --orange:#F2790A;
    --orange-light:#FFF1E0;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{font-family:'Inter',ui-sans-serif,system-ui,sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  .font-display{font-family:'Sora',ui-sans-serif,system-ui,sans-serif;}
  .font-mono{font-family:'Space Mono',ui-monospace,monospace;}
  .accent{font-family:'Fraunces',ui-serif,serif; font-style:italic; font-weight:500; color:var(--blue);}
  .text-soft{color:var(--ink-soft);}
  .bg-grey{background:var(--grey-50);}
  .coord{font-family:'Space Mono',ui-monospace,monospace; font-size:.7rem; letter-spacing:.06em; color:var(--blue); display:inline-flex; align-items:center; gap:.4em;}
  .coord::before{content:''; width:6px;height:6px;border-radius:999px; background:var(--blue); box-shadow:0 0 0 4px var(--blue-light); flex-shrink:0;}
  .btn-primary{background:var(--blue); color:#fff; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; box-shadow:0 1px 2px rgba(15,22,38,.06);}
  .btn-primary:hover{background:var(--blue-dark); transform:translateY(-1px); box-shadow:0 8px 20px -6px rgba(41,82,227,.45);}
  .btn-ghost{border:1.5px solid var(--grey-200); color:var(--ink); transition:border-color .15s ease, background .15s ease;}
  .btn-ghost:hover{border-color:var(--blue); background:var(--blue-light);}
  .card{background:#fff; border:1px solid var(--grey-100); border-radius:18px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
  .card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(15,22,38,.18); border-color:var(--grey-200);}
  .chip{border:1.5px solid var(--grey-200); background:#fff; color:var(--ink-soft); font-weight:500; transition:all .15s ease; white-space:nowrap;}
  .chip:hover, .chip.active{border-color:var(--blue); background:var(--blue-light); color:var(--blue-dark);}
  .collection-card{transition:transform .25s ease, box-shadow .25s ease;}
  .collection-card:hover{transform:translateY(-5px); box-shadow:0 24px 48px -18px rgba(15,22,38,.35);}
  .collection-card:hover .cc-arrow{transform:translateX(3px);}
  .cc-arrow{transition:transform .2s ease;}
  .num-badge{font-family:'Space Mono',ui-monospace,monospace;}
  .scrollbar-none::-webkit-scrollbar{display:none;}
  .scrollbar-none{-ms-overflow-style:none; scrollbar-width:none;}
  @media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}}
  a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--blue); outline-offset:2px;}
  [x-cloak]{display:none !important;}

/* ---- merged from studio-detail.html ---- */
  :root{
    --white:#FFFFFF;
    --grey-50:#F6F7FB;
    --grey-100:#ECEFF5;
    --grey-200:#DEE3ED;
    --ink:#0F1626;
    --ink-soft:#5B6478;
    --blue:#2952E3;
    --blue-dark:#1B3BB0;
    --blue-light:#EAF0FF;
    --emerald:#0E9D6E;
    --emerald-light:#E3F7EF;
    --orange:#F2790A;
    --orange-light:#FFF1E0;
    --red:#E0453C;
    --red-light:#FDEDEC;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{font-family:'Inter',ui-sans-serif,system-ui,sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  .font-display{font-family:'Sora',ui-sans-serif,system-ui,sans-serif;}
  .font-mono{font-family:'Space Mono',ui-monospace,monospace;}
  .accent{font-family:'Fraunces',ui-serif,serif; font-style:italic; font-weight:500; color:var(--blue);}
  .text-soft{color:var(--ink-soft);}
  .bg-grey{background:var(--grey-50);}
  .coord{font-family:'Space Mono',ui-monospace,monospace; font-size:.7rem; letter-spacing:.06em; color:var(--blue); display:inline-flex; align-items:center; gap:.4em;}
  .coord::before{content:''; width:6px;height:6px;border-radius:999px; background:var(--blue); box-shadow:0 0 0 4px var(--blue-light); flex-shrink:0;}
  .btn-primary{background:var(--blue); color:#fff; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; box-shadow:0 1px 2px rgba(15,22,38,.06);}
  .btn-primary:hover{background:var(--blue-dark); transform:translateY(-1px); box-shadow:0 8px 20px -6px rgba(41,82,227,.45);}
  .btn-ghost{border:1.5px solid var(--grey-200); color:var(--ink); transition:border-color .15s ease, background .15s ease;}
  .btn-ghost:hover{border-color:var(--blue); background:var(--blue-light);}
  .card{background:#fff; border:1px solid var(--grey-100); border-radius:18px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
  .card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(15,22,38,.18); border-color:var(--grey-200);}
  .chip{border:1.5px solid var(--grey-200); background:#fff; color:var(--ink-soft); font-weight:500; transition:all .15s ease;}
  .chip:hover{border-color:var(--blue); background:var(--blue-light); color:var(--blue-dark);}
  .fact-yes{color:var(--emerald);}
  .fact-no{color:var(--ink-soft); opacity:.55;}
  .scrollbar-none::-webkit-scrollbar{display:none;}
  .scrollbar-none{-ms-overflow-style:none; scrollbar-width:none;}
  @media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}}
  a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--blue); outline-offset:2px;}

.hero-wash{
  background:
    radial-gradient(ellipse 60% 90% at 15% 0%, rgba(41,82,227,.10), transparent 60%),
    radial-gradient(ellipse 50% 80% at 85% 20%, rgba(14,157,110,.10), transparent 60%),
    radial-gradient(ellipse 45% 70% at 60% 100%, rgba(242,121,10,.08), transparent 60%),
    var(--grey);
}
.blog-content{ font-size:1rem; line-height:1.75; color:var(--ink-soft); }
.blog-content p{ margin:0 0 1.1em; }
.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4{
  font-family:'Sora',ui-sans-serif,system-ui,sans-serif; font-weight:800; color:var(--ink);
  letter-spacing:-0.01em; margin:1.6em 0 .6em;
}
.blog-content h1{ font-size:1.7rem; }
.blog-content h2{ font-size:1.4rem; }
.blog-content h3{ font-size:1.15rem; }
.blog-content h4{ font-size:1rem; }
.blog-content > *:first-child{ margin-top:0; }
.blog-content strong{ color:var(--ink); font-weight:700; }
.blog-content a{ color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.blog-content a:hover{ color:var(--blue-dark); }
.blog-content ul,.blog-content ol{ margin:0 0 1.1em; padding-left:1.4em; }
.blog-content ul{ list-style:disc; }
.blog-content ol{ list-style:decimal; }
.blog-content li{ margin:.35em 0; }
.blog-content blockquote{
  margin:1.4em 0; padding:.2em 0 .2em 1.1em; border-left:3px solid var(--blue);
  color:var(--ink); font-family:'Fraunces',ui-serif,serif; font-style:italic; font-size:1.05em;
}
.blog-content img{ border-radius:14px; margin:1.6em 0; max-width:100%; height:auto; }
.blog-content code{ background:var(--grey-100); color:var(--ink); padding:.15em .4em; border-radius:5px; font-family:'Space Mono',ui-monospace,monospace; font-size:.85em; }
.blog-content pre{ background:var(--ink); color:#fff; padding:1em 1.2em; border-radius:12px; overflow-x:auto; margin:1.4em 0; }
.blog-content pre code{ background:none; color:inherit; padding:0; }
.form-label{font-size:.8rem; font-weight:600; display:block; margin-bottom:.35rem;}
.form-input{width:100%; padding:.6rem .85rem; border-radius:10px; border:1.5px solid var(--grey-200); font-size:.875rem; outline:none; font-family:inherit; background:#fff;}
.form-input:focus{border-color:var(--blue);}
.form-hint{font-size:.72rem; color:var(--ink-soft); margin-top:.3rem;}
