@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600&family=Noto+Serif+TC:wght@400;500;600&display=swap');
:root{--paper:#f8f7f3;--ink:#292c2a;--muted:#747771;--line:#d9dcd4;--sage:#e7e9e0;--accent:#8e9683;--serif:'Noto Serif TC',serif;--sans:'DM Sans','Noto Sans TC','Microsoft JhengHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid #536448;outline-offset:6px}a:hover{color:#59634f}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:500}h1,h2{line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}.skip{position:absolute;left:16px;top:-100px;background:var(--paper);padding:8px 16px;z-index:99}.skip:focus{top:8px}.site-header{max-width:1480px;margin:auto;min-height:110px;padding:26px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{display:block;font-family:var(--serif);font-size:30px;letter-spacing:-.7px;font-weight:600;line-height:1.3}.brand span{display:block;font:9px/1.8 var(--sans);letter-spacing:2.5px;margin-top:7px;color:var(--muted)}nav{display:flex;gap:30px;align-items:center;font-size:12px;letter-spacing:1px}nav a{padding:10px 0;white-space:nowrap}.hero{max-width:1480px;margin:auto;display:grid;grid-template-columns:1fr 1.03fr;align-items:center;padding:50px 6% 60px;gap:6%}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.2px;display:block}.tiny-star{font-size:21px;vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(32px,3.4vw,54px);letter-spacing:1.5px;margin:23px 0}.hero-description{color:var(--muted);font-size:14px;line-height:2.2;margin-bottom:30px}.button{padding:15px 24px;display:inline-flex;align-items:center;gap:48px;font-size:12px;letter-spacing:1px}.dark{background:var(--ink);color:#fff}.dark:hover{background:#50594a;color:#fff}.text-link{font-size:12px;border-bottom:1px solid #8a8e83;padding-bottom:5px;display:inline-block}.hero .text-link{margin-left:22px}.hero-caption{margin-top:55px;display:flex;gap:20px;color:var(--muted);font-size:9px;letter-spacing:1px;flex-wrap:wrap}.brand-visual{border:1px solid var(--line);background:#eee;position:relative}.brand-visual img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.brand-visual figcaption{display:flex;justify-content:space-between;position:absolute;bottom:16px;left:22px;right:22px;font-size:8px;letter-spacing:2px;color:#636761}.service-strip{display:flex;gap:50px;justify-content:center;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 6%;font-size:10px;letter-spacing:2px;background:#eeeee7}.service-strip span:nth-child(even){font-size:21px;line-height:1}.section{padding:90px max(8%,calc((100vw - 1230px)/2));}.about{display:grid;grid-template-columns:1fr 1.25fr;gap:14%}.about h2{font-size:39px;margin-top:22px}.about-copy{padding-top:15px}.about-copy p{color:var(--muted);font-size:14px;line-height:2.15;margin-bottom:20px}.about-copy .large-copy{color:var(--ink);font:21px/1.9 var(--serif)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-heading h2{font-size:40px;margin-top:16px}.section-heading>p{font-size:12px;color:var(--muted)}.services{background:var(--ink);color:var(--paper)}.services .eyebrow{color:#bfc5b7}.services .section-heading p{color:#b8beb3}.service-row{border-top:1px solid #50564c;padding:31px 0;display:grid;grid-template-columns:50px 1fr 1.35fr;gap:28px;align-items:start}.service-row h3{font:25px/1.6 var(--serif);font-weight:400}.service-row div>span{font-size:9px;letter-spacing:2px;color:#a9b29f}.service-num{font:18px var(--serif);color:#bbc2b2;padding-top:6px}.service-row p{font-size:13px;color:#bfc5b9;line-height:2}.service-foot{border-top:1px solid #50564c;padding-top:22px;display:flex;gap:20px;justify-content:space-between;font-size:11px;color:#bdc4b7}.services a:hover{color:#fff}.inspiration{background:var(--sage)}.social-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:12%;margin-top:25px}.social-layout h2{font-size:36px}.social-layout p{font-size:13px;color:#687060;margin-top:20px}.social-list{align-self:center}.social-list>a{padding:20px 0;border-top:1px solid #c0c6b6;display:flex;align-items:center;gap:18px;font-size:21px}.social-list a span{margin-left:auto}.social-list svg,.footer-social svg{width:21px;height:21px;flex:none}.social-list small{font-size:10px;color:#687060;display:block;margin-top:16px}.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.article-card{border-top:1px solid var(--ink);padding-top:22px;display:flex;flex-direction:column}.article-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:2px}.article-card h3{font:500 25px/1.8 var(--serif);margin:28px 0 15px}.article-card p{font-size:13px;color:var(--muted);margin-bottom:28px}.article-read{display:flex;justify-content:space-between;font-size:11px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-top:auto}.visit{border-top:1px solid var(--line)}.booking-label{font-size:10px;letter-spacing:1px;color:var(--muted)}.visit-grid{display:grid;grid-template-columns:.9fr 1.25fr;gap:8%;align-items:center}.visit-info h3{font:31px/1.4 var(--serif);margin-bottom:20px}.visit-info address{font-style:normal;font-size:14px;line-height:2}.visit-phone{display:flex;gap:30px;align-items:center;width:max-content;font-size:25px;letter-spacing:1px;margin-top:22px}.visit-phone span{font-size:20px}.visit-info>p{color:var(--muted);font-size:12px;margin:12px 0 25px}.visit-info>small{display:block;color:var(--muted);font-size:10px;margin-top:18px}.map{background:#e8e9e3;border:1px solid var(--line);min-height:410px}.map iframe{display:block;width:100%;height:410px;border:0}.faq{display:grid;grid-template-columns:.9fr 1.25fr;gap:8%;border-top:1px solid var(--line)}.faq h2{font-size:34px;margin-top:20px}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:18px;color:var(--muted)}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);padding-bottom:20px;line-height:2}details p a{text-decoration:underline}.closing{text-align:center;padding:70px 6%;background:#e9e8e1}.closing>p{font-size:9px;letter-spacing:3px;color:var(--muted)}.closing h2{font-size:34px;margin:18px 0}.closing>a{font-size:13px;display:inline-flex;gap:35px;border-bottom:1px solid var(--ink);padding:8px 0}footer{padding:50px 8% 22px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding-bottom:40px;align-items:start}.footer-top>div:nth-child(2){font-size:14px}.footer-top p{font-size:10px;color:var(--muted);margin-top:8px}.footer-social{display:flex;flex-direction:column;gap:12px;justify-self:end}.footer-social>a{font-size:11px;display:flex;gap:12px;align-items:center}.footer-social svg{width:15px;height:15px}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted);letter-spacing:1px}.breadcrumbs{display:flex;gap:12px;font-size:11px;color:var(--muted);margin-bottom:45px}.journal-page{min-height:75vh}.journal-page h1{font-size:64px;margin-top:15px}.journal-page h1>span{color:var(--accent)}.page-lead{font-size:15px;line-height:2;color:var(--muted);max-width:780px;margin-top:20px}.journal-page .article-grid{margin-top:70px}.article-heading{padding-bottom:45px;border-bottom:1px solid var(--line)}.article-heading h1{font-size:42px;max-width:950px;margin-top:25px}.article-date{font-size:11px;color:var(--muted);margin-top:30px}.article-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:7%;padding-top:55px}.article-layout aside{display:flex;flex-direction:column;gap:18px;font-size:11px;color:var(--muted);align-self:start;position:sticky;top:30px}.article-layout aside>.eyebrow{color:var(--ink);margin-bottom:8px}.article-body{max-width:790px}.article-body>section{margin-bottom:42px;scroll-margin-top:25px}.article-body h2{font-size:25px;margin-bottom:17px}.article-body p{font-size:15px;color:#60665c;line-height:2.2}.article-contact{background:var(--sage);padding:35px;margin-top:45px;margin-bottom:45px}.article-contact h2{font-size:25px;margin-top:16px}.article-contact p{font-size:13px;margin-bottom:23px}.article-contact .text-link{margin-left:15px}.related-article{border-top:1px solid var(--line);padding-top:25px}.related-article>a{font:21px/1.8 var(--serif);display:block;margin-top:15px}
@media(min-width:1600px){.hero{padding-bottom:70px}.hero h1{font-size:57px}}
@media(max-width:900px){.site-header{flex-wrap:wrap;gap:17px;padding:22px 6% 12px}.site-header nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}.hero{gap:4%;padding-top:35px}.hero h1{font-size:34px}.hero .text-link{display:block;margin:20px 0 0;width:max-content}.hero-caption{margin-top:27px}.hero-description{font-size:12px}.section{padding:65px 6%}.about{gap:7%}.about h2{font-size:32px}.social-layout{gap:6%}.social-layout h2{font-size:29px}.service-row{gap:18px;grid-template-columns:30px 1fr 1.3fr}.service-strip{gap:25px;font-size:9px;letter-spacing:1px}.visit-grid{gap:5%}.article-layout{grid-template-columns:170px minmax(0,1fr);gap:5%}}
@media(max-width:600px){.brand{font-size:27px}.brand span{font-size:8px;letter-spacing:2px}.site-header nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;font-size:10px;letter-spacing:0;text-align:center}.site-header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;white-space:normal}.hero{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding:30px 6% 36px}.hero h1{font-size:38px;line-height:1.6;letter-spacing:1px;margin:17px 0}.hero-description{font-size:13px;margin-bottom:23px}.hero .text-link{display:inline-block;margin:0 0 0 15px;font-size:10px}.button{padding:13px 18px;gap:32px;font-size:11px}.hero-caption{margin-top:26px;justify-content:space-between;font-size:8px;gap:8px}.brand-visual figcaption{font-size:7px;left:15px;right:15px;bottom:13px;letter-spacing:1.4px}.service-strip{gap:14px;font-size:7px;letter-spacing:.5px;padding:16px 4%}.service-strip span:nth-child(even){font-size:16px}.section{padding:50px 6%}.eyebrow{font-size:9px;letter-spacing:1.8px}.about{display:block}.about h2{font-size:32px;margin-top:18px}.about h2 br{display:none}.about-copy{padding-top:28px}.about-copy .large-copy{font-size:18px}.about-copy p{font-size:13px}.section-heading{align-items:start;gap:20px;margin-bottom:30px}.section-heading h2{font-size:31px;margin-top:13px}.services .section-heading{display:block}.services .section-heading p{margin-top:20px;font-size:11px}.service-row{grid-template-columns:24px 1fr;gap:10px 18px;padding:25px 0}.service-row h3{font-size:22px}.service-row p{grid-column:2;font-size:12px}.service-row div>span{font-size:8px}.service-num{font-size:15px}.service-foot{display:block;font-size:10px}.service-foot a{display:block;margin-top:13px;font-size:13px}.social-layout{display:block;margin-top:20px}.social-layout h2{font-size:29px}.social-layout p{font-size:12px}.social-list{margin-top:30px}.social-list>a{font-size:19px;padding:16px 0}.article-grid{grid-template-columns:1fr;gap:35px}.article-card h3{font-size:22px;margin:23px 0 13px}.article-card p{font-size:12px}.journal-home .section-heading{align-items:end}.journal-home .text-link{font-size:10px;white-space:nowrap}.visit .section-heading{display:block}.booking-label{display:block;margin-top:15px;font-size:9px}.visit-grid{display:flex;flex-direction:column;align-items:stretch;gap:30px}.visit-info h3{font-size:28px}.visit-info address{font-size:13px}.visit-phone{font-size:25px}.map,.map iframe{height:320px;min-height:320px}.faq{display:block}.faq h2{font-size:30px;margin:18px 0 25px}.faq h2 br{display:none}summary{font-size:12px}details p{font-size:12px}.closing{padding:50px 6%}.closing h2{font-size:28px}.closing>a{font-size:12px;gap:20px}.footer-top{grid-template-columns:1fr 1fr;gap:28px;padding-bottom:30px}.footer-top .brand{grid-column:1/-1}.footer-top>div:nth-child(2){font-size:13px}.footer-social{justify-self:end}.footer-bottom{display:block;font-size:8px;line-height:2}.footer-bottom span{display:block}.breadcrumbs{font-size:10px;margin-bottom:32px;gap:10px}.journal-page h1{font-size:46px}.page-lead{font-size:13px}.journal-page .article-grid{margin-top:45px}.article-heading h1{font-size:29px;margin-top:20px}.article-date{font-size:10px;margin-top:20px}.article-layout{display:block;padding-top:30px}.article-layout aside{position:static;gap:10px;padding-bottom:25px;margin-bottom:30px;border-bottom:1px solid var(--line)}.article-body h2{font-size:22px}.article-body p{font-size:14px}.article-contact{padding:25px;margin-top:32px}.article-contact h2{font-size:22px}.article-contact .text-link{display:block;margin:18px 0 0;width:max-content}.related-article>a{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-with-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.brand-with-logo img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 50%;
}
.brand-visual figcaption { justify-content: end; }
.brand-visual figcaption a {
  padding: 7px 11px;
  background: var(--paper);
  color: var(--ink);
  letter-spacing: 1px;
}
.nail-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 36px;
}
.nail-gallery img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.nail-gallery figcaption, .photo-credit {
  margin-top: 9px;
  font-size: 12px;
  color: #50594a;
}
.photo-credit { margin-top: 24px; }
@media (max-width: 600px) {
  .brand-with-logo img { width: 40px; height: 40px; }
  .nail-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}

h1, h2, main p {
  line-break: strict;
}
@media (max-width: 600px) {
  main h1, main h2 {
    text-wrap: balance;
  }
  main p {
    text-wrap: pretty;
  }
  main h1 br, main h2 br, main p br {
    display: none;
  }
}

.social-list .line-symbol {
  position: relative;
  flex: none;
  width: 21px;
  height: 17px;
  margin-left: 0;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}
.line-symbol::after {
  position: absolute;
  bottom: -3px;
  left: 5px;
  width: 5px;
  height: 5px;
  border-left: 1.5px solid currentColor;
  transform: skewY(-35deg);
  background: var(--sage);
  content: "";
}

.footer-social .line-symbol {
  position: relative;
  flex: none;
  width: 15px;
  height: 12px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}
.footer-social .line-symbol::after {
  left: 3px;
  width: 4px;
  height: 4px;
  background: var(--paper);
}
