/* ============================================================
   NEILIA — Quiet Apothecary
   直角・髮絲線・紙色・克制的森林綠
   ============================================================ */
:root{
  --paper:#F3F0E7;        /* 暖象牙紙 */
  --paper-deep:#EAE5D6;   /* 深一階的紙 */
  --cream:#E8E2D3;        /* 品牌米 */
  --ink:#191E13;          /* 墨綠黑 */
  --ink-soft:#3B402F;
  --green:#2E6417;        /* 品牌森林綠（克制使用） */
  --green-deep:#1E430F;   /* 深綠（大色塊） */
  --hairline:rgba(32,37,26,.18);
  --hairline-strong:rgba(32,37,26,.32);
  --maxw:1140px;
  --serif:'Cormorant Garamond','Noto Serif TC',serif;
  --serif-tc:'Noto Serif TC',serif;
  --sans:'Noto Sans TC',sans-serif;
  --ui:'Inter','Noto Sans TC',sans-serif;
  --fs-xs:.78rem;        /* 小標、標籤 */
  --fs-sm:.95rem;        /* 導覽、輔助 */
  --fs-base:1.05rem;     /* 內文 */
  --fs-md:1.3rem;        /* 次標 */
  --fs-lg:clamp(1.5rem,2.4vw,1.9rem);   /* 大字 */
  --fs-xl:clamp(1.9rem,4vw,2.9rem);     /* 區塊標題 */
  --fs-display:clamp(2.6rem,7vw,5rem);  /* 主視覺 */
  --mono:'IBM Plex Mono','Noto Sans TC',monospace;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.85;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-break:strict;
  overflow-wrap:break-word;
  text-spacing-trim:trim-start;
}
p,li,.section__sub,.meta-row__value{line-break:strict;text-wrap:pretty;hanging-punctuation:allow-end}
h1,h2,h3,.section__title,.hero__title{text-wrap:balance;line-break:strict}
.nobr{white-space:nowrap}
@supports not (text-wrap:balance){
  h1,h2,h3,.section__title,p,li{line-break:strict;word-break:keep-all}
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
[data-scroll]{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px}

/* 商標符號 */
.tm{font-size:.4em;vertical-align:super;letter-spacing:0;font-weight:400;margin-left:.1em;line-height:0}
.tm--bottle{font-size:.48em;margin-left:.05em}

/* Reveal：克制的淡入 */
.reveal{opacity:0;transform:translateY(14px);transition:opacity 1s ease,transform 1s ease}
.reveal.is-visible{opacity:1;transform:none}

/* ===== 共用排印 ===== */
.eyebrow{
  display:block;font-family:var(--ui);font-size:var(--fs-xs);font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;color:var(--green);
  margin-bottom:1.6rem;
}
.section{padding:clamp(88px,11vw,150px) 0;border-top:1px solid var(--hairline)}
.section__head{max-width:680px;margin-bottom:clamp(52px,6vw,84px)}
.section__title{
  font-family:var(--serif-tc);font-weight:500;line-height:1.22;
  font-size:var(--fs-xl);color:var(--ink);letter-spacing:.02em;
}
.section__sub{margin-top:1.2rem;font-size:var(--fs-base);color:var(--ink-soft);max-width:48ch}

/* 按鈕：矩形・細框・大寫 */
.btn{
  display:inline-block;padding:1.05em 2.6em;border:1px solid var(--ink);
  font-family:var(--ui);font-size:var(--fs-xs);font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink);
  background:transparent;transition:background .35s ease,color .35s ease;
}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn--primary{background:var(--ink);color:var(--paper)}
.btn--primary:hover{background:transparent;color:var(--ink)}
.btn .tm{font-size:.6em}

/* ===== 導覽 ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s ease,border-color .4s ease;border-bottom:1px solid transparent}
.nav__inner{max-width:var(--maxw);margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between}
.nav__brand{font-family:var(--serif);font-size:var(--fs-md);font-weight:500;letter-spacing:.3em;color:var(--ink);padding-left:.3em}
.nav.scrolled{background:rgba(243,240,231,.92);backdrop-filter:blur(12px);border-bottom-color:var(--hairline)}
.nav__links{display:flex;gap:2.4rem}
.nav__links a{font-family:var(--ui);font-size:var(--fs-sm);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);transition:color .3s;padding:4px 0;border-bottom:1px solid transparent}
.nav__links a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.nav__lang{
  font-family:var(--ui);font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;
  background:none;border:1px solid var(--ink);color:var(--ink);
  padding:.45em 1.1em;cursor:pointer;text-transform:uppercase;
  transition:background .3s ease,color .3s ease;margin-left:1.6rem;
}
.nav__lang:hover{background:var(--ink);color:var(--paper)}
.nav__toggle{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:6px}
.nav__toggle span{width:22px;height:1px;background:var(--ink);transition:.3s}
.nav__toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle.open span:nth-child(2){opacity:0}
.nav__toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav__mobile{display:none;flex-direction:column;background:rgba(243,240,231,.98);backdrop-filter:blur(12px);overflow:hidden;max-height:0;transition:max-height .45s ease}
.nav__mobile.open{max-height:420px;border-bottom:1px solid var(--hairline)}
.nav__mobile a{padding:16px 32px;border-top:1px solid var(--hairline);font-family:var(--ui);font-size:var(--fs-sm);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}

/* ===== Hero ===== */
.hero{
  min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  padding:140px 24px 110px;position:relative;
}
.hero__content{max-width:900px}
.hero__eyebrow{font-family:var(--ui);font-weight:500;font-size:var(--fs-xs);letter-spacing:.32em;text-transform:uppercase;color:var(--green);margin-bottom:2.2rem}
.hero__title{
  font-family:var(--serif-tc);font-weight:500;color:var(--ink);
  font-size:var(--fs-display);line-height:1.16;letter-spacing:.06em;
}
.hero__en{font-family:var(--serif);font-style:italic;font-weight:400;font-size:var(--fs-md);color:var(--ink-soft);margin-top:1.6rem;letter-spacing:.04em}
.hero__lead{margin-top:2.4rem;font-size:var(--fs-md);color:var(--ink-soft);text-wrap:initial}
.hero__actions{margin-top:3rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero__mark{
  position:absolute;bottom:0;left:0;right:0;
  font-family:var(--ui);font-size:var(--fs-xs);font-weight:500;letter-spacing:.3em;text-transform:uppercase;
  color:var(--ink);text-align:center;padding:26px 24px;
  border-top:1px solid var(--hairline);white-space:nowrap;
}

/* ===== 關於 ===== */
.about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,7vw,100px);align-items:start}
.about__creed{
  font-family:var(--serif-tc);font-weight:400;
  font-size:var(--fs-lg);line-height:1.65;
  color:var(--ink);margin-bottom:1rem;letter-spacing:.03em;text-wrap:balance;
}
.about__creed:last-of-type{margin-bottom:0}
.about__pillars{margin-top:3.4rem;border-top:1px solid var(--hairline)}
.pillar{padding:1.6rem 0;border-bottom:1px solid var(--hairline);display:grid;grid-template-columns:96px 1fr;gap:1.5rem;align-items:baseline}
.pillar__label{font-family:var(--ui);font-size:var(--fs-xs);font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--green)}
.pillar p{font-size:var(--fs-base);margin:0;color:var(--ink)}

/* ===== 核心價值：編輯式條列 ===== */
.values__list{border-top:1px solid var(--hairline)}
.value-row{
  display:grid;grid-template-columns:120px 240px 1fr;gap:2rem;align-items:baseline;
  padding:2.6rem 0;border-bottom:1px solid var(--hairline);
}
.value-row__el{font-family:var(--serif-tc);font-weight:300;font-size:var(--fs-xl);line-height:1;color:var(--ink)}
.value-row__name h3{font-family:var(--serif);font-weight:500;font-size:var(--fs-md);letter-spacing:.06em;color:var(--ink)}
.value-row__name span{font-family:var(--ui);font-size:var(--fs-xs);font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--green);display:block;margin-top:.4rem}
.value-row p{color:var(--ink-soft);font-size:var(--fs-base);max-width:44ch}

/* ===== 品牌 ===== */
.brand__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,90px);align-items:start;margin-bottom:clamp(64px,9vw,120px)}
.brand .section__title{font-family:var(--serif);font-size:var(--fs-display);letter-spacing:.16em;font-weight:400;padding-left:.16em;margin-left:-.08em}
.brand__claim{font-family:var(--serif);font-style:italic;font-size:var(--fs-md);color:var(--ink-soft);margin:1.2rem 0 1.6rem;line-height:1.6}
.brand__claim span{font-family:var(--serif-tc);font-style:normal;font-size:var(--fs-base);color:var(--ink);display:block;letter-spacing:.08em;margin-top:.3rem}
.brand__desc{font-size:var(--fs-base);color:var(--ink-soft);max-width:44ch}
.brand__meta{border-top:1px solid var(--hairline)}
.meta-row{padding:1.6rem 0;border-bottom:1px solid var(--hairline);display:grid;grid-template-columns:96px 1fr;gap:1.5rem;align-items:baseline}
.meta-row__label{font-family:var(--ui);font-size:var(--fs-xs);font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--green)}
.meta-row__value{color:var(--ink);font-size:var(--fs-base)}

/* ===== 產品：藥劑標籤 ===== */
.product{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,7vw,100px);align-items:center;
  border:1px solid var(--hairline-strong);padding:clamp(40px,6vw,72px);
  background:var(--paper-deep);
}
.product__visual{display:flex;justify-content:center}
.speclabel{
  width:min(300px,100%);aspect-ratio:3/4;background:var(--cream);
  border:1px solid var(--ink);padding:2rem 1.8rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  font-family:var(--mono);color:var(--ink);
  box-shadow:8px 8px 0 rgba(32,37,26,.08);
}
.speclabel__no{font-size:var(--fs-xs);letter-spacing:.3em;align-self:flex-start}
.speclabel__brand{font-family:var(--serif);font-weight:500;font-size:var(--fs-lg);letter-spacing:.3em;margin-top:auto;padding-left:.3em}
.speclabel__rule{width:42px;height:1px;background:var(--ink);margin:1.3rem 0}
.speclabel__type{font-size:var(--fs-sm);font-weight:500;letter-spacing:.34em;line-height:2;text-transform:uppercase}
.speclabel__meta{font-size:var(--fs-xs);letter-spacing:.14em;color:var(--ink);margin-top:1.2rem}
.speclabel__ml{font-size:var(--fs-xs);letter-spacing:.22em;color:var(--ink);margin-top:.5rem;margin-bottom:auto}
.speclabel__origin{font-size:var(--fs-xs);letter-spacing:.18em;color:var(--ink);border-top:1px solid var(--hairline);padding-top:1rem;width:100%}
.product__info .eyebrow{margin-bottom:1.2rem}
.product__name{font-family:var(--serif-tc);font-weight:500;font-size:var(--fs-lg);color:var(--ink);margin:.4rem 0 .4rem}
.product__line{color:var(--ink-soft);margin-bottom:2rem;font-size:var(--fs-base)}
.product__points{list-style:none;border-top:1px solid var(--hairline)}
.product__points li{
  display:grid;grid-template-columns:170px 1fr;gap:1.2rem;align-items:baseline;
  font-size:var(--fs-sm);color:var(--ink-soft);padding:1rem 0;border-bottom:1px solid var(--hairline);
}
.product__points strong{font-family:var(--ui);font-weight:500;color:var(--ink);letter-spacing:.16em;text-transform:uppercase;font-size:var(--fs-xs)}

/* ===== 發展藍圖 ===== */
.timeline{list-style:none;border-top:1px solid var(--hairline);max-width:900px}
.timeline__item{
  display:grid;grid-template-columns:170px 1fr;gap:2.4rem;
  padding:2.4rem 0;border-bottom:1px solid var(--hairline);
}
.timeline__year{font-family:var(--mono);font-weight:500;font-size:var(--fs-sm);letter-spacing:.12em;color:var(--green)}
.timeline__content h3{font-family:var(--serif-tc);font-weight:500;font-size:var(--fs-md);color:var(--ink);margin-bottom:.5rem}
.timeline__content p{color:var(--ink-soft);font-size:var(--fs-base);max-width:56ch}

/* ===== 創辦人的話 ===== */
.letter__inner{max-width:680px}
.letter__body p{font-size:var(--fs-base);color:var(--ink-soft);margin-bottom:1.6rem;line-height:2}
.letter__quote{
  line-break:strict;
  font-family:var(--serif-tc);font-weight:500;font-size:var(--fs-lg) !important;
  color:var(--ink) !important;line-height:1.6 !important;
  border-left:1px solid var(--ink);padding-left:1.6rem;margin:2.4rem 0 !important;
  text-wrap:balance;
}




/* ===== FAQ：髮絲線清單 ===== */
.faq__list{max-width:860px;border-top:1px solid var(--hairline)}
.faq__item{border-bottom:1px solid var(--hairline)}
.faq__item summary{
  list-style:none;cursor:pointer;font-family:var(--serif-tc);font-weight:500;
  line-break:strict;text-wrap:balance;
  font-size:var(--fs-md);color:var(--ink);padding:1.6rem 0;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  transition:color .3s ease;
}
.faq__item summary:hover{color:var(--green)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-family:var(--mono);font-size:var(--fs-md);color:var(--ink-soft);font-weight:400;transition:transform .3s ease;flex-shrink:0}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__a{padding:0 0 1.8rem;max-width:62ch}
.faq__a p{color:var(--ink-soft);font-size:var(--fs-base);line-height:1.9;margin:0}

/* ===== 上市通知 ===== */
.notify__inner{max-width:560px}
.notify__form{display:flex;gap:0;margin-top:.4rem;align-items:stretch}
.notify__input{
  flex:1;min-width:0;background:transparent;border:0;
  border-bottom:1px solid var(--ink);border-radius:0;
  font-family:var(--ui);font-size:var(--fs-base);color:var(--ink);
  padding:.8em .2em;outline:none;
}
.notify__input::placeholder{color:var(--ink-soft);opacity:.7}
.notify__input:focus{border-bottom-width:2px}
.notify__form .btn{margin-left:1.2rem;white-space:nowrap}
.notify__msg{margin-top:1.2rem;font-size:var(--fs-sm);color:var(--green);min-height:1.5em}
.notify__msg.is-error{color:#8a3b1f}
@media(max-width:520px){
  .notify__form{flex-direction:column;gap:1rem}
  .notify__form .btn{margin-left:0}
}

/* ===== Footer：紙色 ===== */
.footer{background:var(--paper);border-top:1px solid var(--hairline-strong);padding:84px 0 52px}
.footer__inner{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.footer__logo{font-family:var(--serif);font-size:var(--fs-lg);font-weight:500;letter-spacing:.32em;color:var(--ink);padding-left:.32em}
.footer__meta{text-align:right;color:var(--ink-soft);font-size:var(--fs-sm);line-height:2}
.footer__mail{border-bottom:1px solid var(--hairline-strong);transition:border-color .3s}
.footer__mail:hover{border-color:var(--ink)}
.footer__copy{margin-top:1.4rem;font-family:var(--ui);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase}

/* ===== 響應式 ===== */
@media(max-width:880px){
  .nav__links{display:none}
  .nav__toggle{display:flex}
  .nav__mobile{display:flex}
  .nav:not(.scrolled){background:rgba(243,240,231,.7);backdrop-filter:blur(8px)}
  .about__grid,.brand__grid,.product{grid-template-columns:1fr}
  .value-row{grid-template-columns:72px 1fr;gap:1.2rem}
  .value-row p{grid-column:2}
  .footer__meta{text-align:left}
  .footer__inner{flex-direction:column}
}
@media(max-width:520px){
  .timeline__item{grid-template-columns:1fr;gap:.6rem}
  .pillar,.meta-row{grid-template-columns:1fr;gap:.4rem}
  .product__points li{grid-template-columns:1fr;gap:.2rem}
  .value-row{grid-template-columns:1fr}
  .value-row p{grid-column:1}
  .hero__mark{letter-spacing:.18em}
}
@media(max-width:600px){
  .hero__lead br{display:none}
  .hero__lead{text-wrap:pretty}
  .letter__quote{padding-left:1rem}
  .faq__item summary{gap:1rem}
  .about__creed br{display:none}
}
/* 英文模式：自動連字號提升窄欄可讀性 */
html[lang="en"] p,html[lang="en"] summary{hyphens:auto}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
