/*
Theme Name: ESTIA Residences
Theme URI: https://estia.com.tw/
Author: ESTIA
Description: 手刻輕量主題 — ESTIA Residences 首頁。無頁面建構器、極致效能。內建中/EN 雙語切換(思源黑體)。Hero 圖與詢問信箱可於外觀→自訂 修改;詢問表單會存進後台並寄信。
Version: 0.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: estia
*/

:root{
  --marble:#F4F0E8; --linen:#E7DFCF; --stone:#A49E94; --oak:#8B6F47;
  --ember:#221D17; --soft:#4A443B; --ink:#2b2620;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--marble); color:var(--ember);
  font-family:'Outfit',sans-serif; font-weight:300; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
img{display:block; max-width:100%}
a{color:inherit}
.wrap{max-width:1200px; margin:0 auto; padding:0 clamp(22px,5vw,60px)}

/* ---------- NAV ---------- */
nav.site-nav{position:fixed; inset:0 0 auto 0; z-index:100; display:flex; align-items:center; justify-content:space-between;
  padding:18px clamp(22px,5vw,60px); transition:background .4s ease, padding .4s ease, box-shadow .4s ease;}
nav.site-nav.solid{background:rgba(244,240,232,.94); backdrop-filter:blur(8px); padding-top:12px; padding-bottom:12px;
  box-shadow:0 1px 0 rgba(34,29,23,.08);}
.nav-wm{font-family:'Italiana',serif; font-size:23px; letter-spacing:.4em; padding-left:.4em; line-height:1;
  text-decoration:none; color:var(--marble); text-shadow:0 1px 14px rgba(20,17,13,.5); transition:color .4s, text-shadow .4s;}
nav.site-nav.solid .nav-wm{color:var(--ember); text-shadow:none;}
.nav-right{display:flex; align-items:center; gap:clamp(18px,2.8vw,38px)}
.nav-right a{font-size:15.5px; letter-spacing:.16em; text-transform:uppercase; text-decoration:none;
  color:rgba(244,240,232,.95); text-shadow:0 1px 12px rgba(20,17,13,.5); transition:color .3s;}
nav.site-nav.solid .nav-right a{color:var(--soft); text-shadow:none;}
.nav-right a:hover{color:var(--oak)!important}
.nav-cta{border:1px solid rgba(244,240,232,.55); padding:10px 22px; border-radius:1px; text-shadow:none;}
nav.site-nav.solid .nav-cta{border-color:var(--oak); color:var(--oak)!important;}
.nav-lang{font-size:14px; letter-spacing:.12em; padding-left:clamp(4px,1vw,10px); position:relative;}
.nav-lang::before{content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:12px; background:currentColor; opacity:.35;}
.nav-cta:hover{background:var(--oak); border-color:var(--oak); color:var(--ember)!important;}
/* 漢堡按鈕(手機顯示) */
.nav-toggle{ display:none; width:30px; height:22px; position:relative; background:none; border:0; cursor:pointer; padding:0; z-index:120; }
.nav-toggle span{ position:absolute; left:0; right:0; height:2px; background:var(--marble); box-shadow:0 1px 6px rgba(20,17,13,.5); transition:transform .3s, opacity .3s, background .3s; }
.nav-toggle span:nth-child(1){ top:2px; } .nav-toggle span:nth-child(2){ top:10px; } .nav-toggle span:nth-child(3){ top:18px; }
nav.site-nav.solid .nav-toggle span{ background:var(--ember); box-shadow:none; }
nav.site-nav.open .nav-toggle span{ background:var(--marble); box-shadow:none; }
nav.site-nav.open .nav-toggle span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
nav.site-nav.open .nav-toggle span:nth-child(2){ opacity:0; }
nav.site-nav.open .nav-toggle span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
@media (max-width:680px){
  .nav-toggle{ display:block; }
  nav.site-nav.open::before{ content:""; position:fixed; inset:0; background:rgba(20,17,13,.45); z-index:110; }
  .nav-right{ position:fixed; inset:0 0 0 auto; width:min(80vw,320px); height:100vh; z-index:115;
    flex-direction:column; align-items:flex-start; justify-content:center; gap:26px;
    background:var(--ember); padding:90px 34px 40px; transform:translateX(100%);
    transition:transform .4s cubic-bezier(.2,.7,.2,1); box-shadow:-20px 0 60px rgba(0,0,0,.3); }
  nav.site-nav.open .nav-right{ transform:none; }
  .nav-right a{ color:var(--marble)!important; font-size:18px; letter-spacing:.12em; text-shadow:none; }
  nav.site-nav.solid .nav-right a{ color:var(--marble)!important; }
  .nav-cta{ border-color:var(--oak)!important; color:var(--oak)!important; padding:12px 26px; }
  .nav-lang{ padding-left:0; } .nav-lang::before{ display:none; }
}

/* ---------- HERO ---------- */
.hero{position:relative; height:100svh; min-height:600px; display:flex; align-items:flex-end; color:var(--marble);}
.hero img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero::after{content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(20,17,13,.26) 0%, rgba(20,17,13,0) 20%, rgba(20,17,13,0) 40%, rgba(20,17,13,.66) 100%),
    linear-gradient(64deg, rgba(20,17,13,.60) 0%, rgba(20,17,13,.34) 30%, rgba(20,17,13,.06) 58%, rgba(20,17,13,0) 72%);}
.hero-inner{position:relative; z-index:2; width:100%; max-width:1200px; margin:0 auto;
  padding:0 clamp(22px,5vw,60px) clamp(64px,11vh,120px);}
.hero-eyebrow{font-size:13px; letter-spacing:.42em; text-transform:uppercase; color:rgba(244,240,232,.9); margin-bottom:26px; text-shadow:0 1px 16px rgba(20,17,13,.55);}
.hero h1{font-family:'Italiana',serif; font-weight:400; font-size:clamp(38px,5.4vw,64px); line-height:1.08; letter-spacing:.01em;
  text-shadow:0 2px 34px rgba(20,17,13,.62), 0 1px 5px rgba(20,17,13,.5);}
.hero-sub{font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400;
  font-size:clamp(18px,2.2vw,23px); color:rgba(244,240,232,.95); margin-top:20px; max-width:520px; line-height:1.5; text-shadow:0 1px 18px rgba(20,17,13,.55);}
.scrollcue{position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:2;
  font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:rgba(244,240,232,.85); display:flex; flex-direction:column; align-items:center; gap:9px;}
.scrollcue span{width:1px; height:38px; background:linear-gradient(rgba(244,240,232,.7),rgba(244,240,232,0)); animation:cue 2.4s ease-in-out infinite;}
@keyframes cue{0%,100%{opacity:.3; transform:scaleY(.6)}50%{opacity:1; transform:scaleY(1)}}

/* ---------- VALUE BAND ---------- */
.value{background:var(--linen); padding:clamp(74px,11vh,120px) 0;}
.res-band{background:var(--linen);}
.value-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(34px,6vw,84px); align-items:center;}
@media (max-width:820px){ .value-grid{grid-template-columns:1fr; gap:38px} }
.value-lead .k{font-size:13px; letter-spacing:.32em; text-transform:uppercase; color:var(--oak); margin-bottom:20px;}
.value-lead h2{font-family:'Italiana',serif; font-weight:400; font-size:clamp(32px,4.8vw,54px); line-height:1.14; margin:18px 0 22px; color:var(--ember);}
.value-lead p{font-family:'Cormorant Garamond',serif; font-size:clamp(18px,2.2vw,21px); line-height:1.8; color:var(--soft);}
.value-lead h2 em{font-style:italic; color:var(--oak);}
.value-media{position:relative; aspect-ratio:4/5; overflow:hidden;}
.value-media img{width:100%; height:100%; object-fit:cover;}
.incl{display:grid; grid-template-columns:1fr 1fr; gap:0 40px;}
.incl-strip{grid-template-columns:repeat(3,1fr); margin-top:clamp(38px,5vw,58px);}
@media (max-width:820px){ .incl-strip{grid-template-columns:1fr 1fr} }
@media (max-width:480px){ .incl-strip{grid-template-columns:1fr} }
.incl div{padding:16px 0; border-bottom:1px solid rgba(34,29,23,.14);}
.incl .t{font-size:16px; color:var(--ember); letter-spacing:.01em;}
.incl .d{font-size:13px; letter-spacing:.04em; color:var(--soft); margin-top:5px; line-height:1.5;}
@media (max-width:420px){ .incl{grid-template-columns:1fr} }

/* ---------- SECTION SCAFFOLD ---------- */
section.band{padding:clamp(84px,13vh,150px) 0;}
.lead-num{font-family:'Outfit',sans-serif; font-size:13px; letter-spacing:.34em; color:var(--oak); text-transform:uppercase;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,74px); align-items:center;}
.split.rev .split-media{order:2}
@media (max-width:820px){ .split{grid-template-columns:1fr; gap:34px} .split.rev .split-media{order:0} }
.split-media{position:relative; aspect-ratio:4/5; overflow:hidden;}
.split-media img{width:100%; height:100%; object-fit:cover;}
.idea h2{font-family:'Italiana',serif; font-weight:400; font-size:clamp(32px,4.8vw,54px); line-height:1.14; margin:18px 0 22px;}
.idea p{font-family:'Cormorant Garamond',serif; font-size:clamp(18px,2.2vw,21px); line-height:1.8; color:var(--soft);}
.idea p + p{margin-top:16px;}
.idea .lock{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(20px,2.6vw,25px);
  color:var(--ember); margin-top:30px; padding-left:18px; border-left:2px solid var(--oak);}

/* ---------- RESIDENCES ---------- */
.res-head{text-align:center; margin-bottom:clamp(44px,6vh,64px);}
.res-head h2{font-family:'Italiana',serif; font-weight:400; font-size:clamp(32px,4.8vw,54px); margin:16px 0 20px;}
.res-head p{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(18px,2.3vw,22px); color:var(--soft); max-width:560px; margin:0 auto; line-height:1.55;}
.res-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,2.4vw,30px);}
@media (max-width:760px){ .res-grid{grid-template-columns:1fr} }
.card{position:relative; text-decoration:none; color:inherit; display:block;}
.card-media{position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--linen);}
.card-media img{width:100%; height:100%; object-fit:cover; transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.card:hover .card-media img{transform:scale(1.045);}
.card-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,17,13,0) 55%,rgba(20,17,13,.34));}
.soon .card-media{display:flex; align-items:center; justify-content:center;
  background:radial-gradient(120% 90% at 50% 15%, #ECE4D4 0%, #DDD1BB 60%, #CBB99B 100%);}
.soon .card-media::after{display:none;}
.soon .card-media img.mark{width:74px; height:auto; opacity:.5; aspect-ratio:auto;}
.soon-tag{position:absolute; top:16px; left:16px; z-index:2; font-size:9px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--soft); background:rgba(244,240,232,.82); padding:5px 11px;}
.card-body{padding:22px 2px 4px;}
.card-name{font-family:'Italiana',serif; font-size:clamp(20px,2.4vw,25px); letter-spacing:.12em; line-height:1.2;}
.card-loc{font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--oak); margin-top:10px;}
.card-desc{font-family:'Cormorant Garamond',serif; font-size:16.5px; line-height:1.62; color:var(--soft); margin-top:13px;}
.card-spec{font-size:13.5px; letter-spacing:.05em; color:var(--soft); line-height:1.8; margin-top:15px; padding-top:13px; border-top:1px solid rgba(34,29,23,.16);}

/* ---------- STAY ---------- */
.stay{background:var(--ember); color:var(--marble);}
.stay .lead-num{color:var(--oak);}
.stay h2{font-family:'Italiana',serif; font-weight:400; font-size:clamp(32px,4.8vw,54px); line-height:1.14; margin:18px 0 24px; color:var(--marble);}
.stay p{font-family:'Cormorant Garamond',serif; font-size:clamp(18px,2.2vw,21px); line-height:1.8; color:#c9c1b2;}
.stay p + p{margin-top:16px;}
.stay .split-media{aspect-ratio:4/5;}

/* ---------- STORY ---------- */
.story{text-align:center;}
.story img.mark{width:52px; height:auto; margin:0 auto 26px; opacity:.85;}
.story h2{font-family:'Italiana',serif; font-weight:400; font-size:clamp(30px,4.4vw,50px); margin-bottom:26px;}
.story p{font-family:'Cormorant Garamond',serif; font-size:clamp(19px,2.5vw,24px); line-height:1.72; color:var(--soft); max-width:680px; margin:0 auto;}
.story .sign{font-size:13px; letter-spacing:.3em; text-transform:uppercase; color:var(--stone); margin-top:34px;}

/* ---------- ENQUIRE ---------- */
.enq{background:var(--ember); color:var(--marble); padding:clamp(80px,12vh,130px) 0;}
.enq-inner{max-width:720px; margin:0 auto; text-align:center;}
.enq .lead-num{color:var(--oak);}
.enq h2{font-family:'Italiana',serif; font-weight:400; font-size:clamp(32px,4.8vw,54px); margin:16px 0 16px; color:var(--marble);}
.enq-sub{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(18px,2.4vw,22px); color:#b9b1a3; line-height:1.55;}
.enq-ok{margin-top:26px; padding:16px 20px; border:1px solid var(--oak); color:#d8cbb2; font-size:13px; letter-spacing:.04em;}
form.enq-form{margin-top:44px; display:grid; grid-template-columns:1fr 1fr; gap:14px; text-align:left;}
.full{grid-column:1/-1;}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.f{width:100%; background:transparent; border:0; border-bottom:1px solid rgba(244,240,232,.28);
  padding:14px 2px; font-family:'Outfit',sans-serif; font-weight:300; font-size:15px; color:var(--marble); letter-spacing:.02em;}
.f::placeholder{color:#9a9385; letter-spacing:.04em; font-size:15px; text-transform:none;}
select.f{appearance:none; color:#9a9385; cursor:pointer; font-size:15px;}
select.f option{color:#221D17;}
textarea.f{min-height:90px; resize:vertical;}
.f:focus{outline:none; border-color:var(--oak);}
.submit{grid-column:1/-1; justify-self:center; margin-top:20px; background:transparent; border:1px solid var(--oak);
  color:var(--oak); font-family:'Outfit',sans-serif; font-size:12px; letter-spacing:.3em; text-transform:uppercase;
  padding:15px 52px; cursor:pointer; transition:all .35s;}
.submit:hover{background:var(--oak); color:var(--ember);}
.promise{grid-column:1/-1; text-align:center; margin-top:22px; font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:#8f887c;}
@media (max-width:560px){ form.enq-form{grid-template-columns:1fr} }

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--ember); border-top:1px solid rgba(244,240,232,.09); padding:46px 0 36px; text-align:center;}
.ft-wm{font-family:'Italiana',serif; font-size:21px; letter-spacing:.42em; padding-left:.42em; color:var(--marble); margin-bottom:22px;}
.ft-links{display:flex; justify-content:center; flex-wrap:wrap; gap:22px; margin-bottom:26px;}
.ft-links a{font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:#8f887c; text-decoration:none;}
.ft-links a:hover{color:var(--oak);}
.ft-sign{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:17px; color:#b9b1a3;}
.ft-meta{margin-top:12px; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:#605a51;}

[data-r]{opacity:0; transform:translateY(26px); transition:opacity 1s ease, transform 1s cubic-bezier(.2,.6,.2,1);}
[data-r].in{opacity:1; transform:none;}

/* ---------- 中文版字型(思源宋體/黑體) ---------- */
body.lang-zh{ font-family:'Noto Sans TC','Outfit',sans-serif; }
/* 大標與內文用宋體 */
body.lang-zh .hero h1,
body.lang-zh .res-head h2,
body.lang-zh .idea h2,
body.lang-zh .stay h2,
body.lang-zh .story h2,
body.lang-zh .enq h2,
body.lang-zh .value-lead h2,
body.lang-zh .idea p,
body.lang-zh .stay p,
body.lang-zh .story p,
body.lang-zh .value-lead p,
body.lang-zh .card-desc{ font-family:'Noto Sans TC',serif; }
/* 中文大標字距收一點、行高調順 */
body.lang-zh .hero h1{ font-size:clamp(36px,5vw,56px); letter-spacing:.06em; line-height:1.2; }
body.lang-zh .hero-sub{ font-size:clamp(15px,1.95vw,19px); }
body.lang-zh .res-head h2,
body.lang-zh .idea h2,
body.lang-zh .stay h2,
body.lang-zh .story h2,
body.lang-zh .value-lead h2,
body.lang-zh .enq h2{ letter-spacing:.06em; line-height:1.3; }
/* 原本英文用斜體的中文改正體(中文不用斜體) */
body.lang-zh .hero-sub,
body.lang-zh .enq-sub,
body.lang-zh .res-head p,
body.lang-zh .lock{ font-family:'Noto Sans TC',serif; font-style:normal; }
/* 小標籤/規格/表單/頁尾用黑體,乾淨 */
body.lang-zh .hero-eyebrow,
body.lang-zh .lead-num,
body.lang-zh .value-lead .k,
body.lang-zh .card-loc,
body.lang-zh .card-spec,
body.lang-zh .nav-right a,
body.lang-zh .f,
body.lang-zh .promise,
body.lang-zh .enq-ok,
body.lang-zh .ft-links a,
body.lang-zh .ft-meta,
body.lang-zh .story .sign{ font-family:'Noto Sans TC',sans-serif; }
/* 品牌字標 ESTIA 與房源英文名永遠維持 Italiana(拉丁) */
body.lang-zh .nav-wm,
body.lang-zh .ft-wm,
body.lang-zh .card-name{ font-family:'Italiana',serif; }
/* 中文一律不用斜體(含 em 強調字) */
body.lang-zh em,
body.lang-zh .value-lead h2 em,
body.lang-zh i{ font-style:normal; }

/* 物件區底部句 */
.res-foot{ text-align:center; max-width:640px; margin:clamp(40px,5vw,60px) auto 0;
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(17px,2.2vw,21px); color:var(--oak); line-height:1.6; }

/* ---------- 中文版:放大字級(修正「字太小」) ---------- */
body.lang-zh .card-name{ font-family:'Noto Sans TC',sans-serif; font-weight:500; font-size:clamp(19px,2.3vw,23px); letter-spacing:.08em; }
body.lang-zh .card-loc{ font-size:12px; letter-spacing:.1em; margin-top:12px; }
body.lang-zh .card-desc{ font-size:17px; line-height:1.95; margin-top:14px; }
body.lang-zh .card-spec{ font-size:14px; letter-spacing:.02em; line-height:2; }
body.lang-zh .lead-num{ font-size:20px; font-weight:500; letter-spacing:.05em; }
body.lang-zh .value-lead .k{ font-size:20px; font-weight:500; letter-spacing:.05em; }
body.lang-zh .hero-eyebrow{ font-size:20px; font-weight:500; letter-spacing:.06em; }
body.lang-zh .res-head p{ font-size:clamp(16px,2.2vw,19px); color:var(--soft); }
body.lang-zh .nav-right a{ font-size:17.5px; letter-spacing:.14em; }
body.lang-zh .nav-lang{ font-size:16px; }
body.lang-zh .promise,
body.lang-zh .ft-meta,
body.lang-zh .ft-links a{ font-size:12px; letter-spacing:.08em; }
body.lang-zh .f{ font-size:16px; }
body.lang-zh .f::placeholder{ font-size:16px; }
body.lang-zh select.f{ font-size:16px; }
body.lang-zh .idea p,
body.lang-zh .stay p,
body.lang-zh .story p,
body.lang-zh .value-lead p{ line-height:1.95; }
body.lang-zh .res-foot{ font-family:'Noto Sans TC',sans-serif; font-style:normal; font-size:17px; line-height:1.85; }

/* ---------- ABOUT / 招商 頁 ---------- */
.about-hero{ position:relative; height:62svh; min-height:440px; display:flex; align-items:flex-end; color:var(--marble); }
.about-hero img.bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-hero::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,17,13,.34) 0%, rgba(20,17,13,.05) 34%, rgba(20,17,13,.2) 60%, rgba(20,17,13,.72) 100%); }
.about-hero-inner{ position:relative; z-index:2; width:100%; max-width:1200px; margin:0 auto;
  padding:0 clamp(22px,5vw,60px) clamp(44px,7vh,80px); }
.about-hero h1{ font-family:'Italiana',serif; font-weight:400; font-size:clamp(38px,6vw,72px); line-height:1.05; letter-spacing:.02em;
  text-shadow:0 2px 30px rgba(20,17,13,.5); margin-top:10px; }
.about-hero .hero-sub{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(18px,2.4vw,24px);
  color:rgba(244,240,232,.94); margin-top:20px; max-width:560px; line-height:1.5; text-shadow:0 1px 16px rgba(20,17,13,.5); }

.points{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(26px,4vw,54px); }
@media (max-width:760px){ .points{ grid-template-columns:1fr; gap:34px; } }
.point-n{ font-family:'Italiana',serif; font-size:30px; color:var(--oak); line-height:1; }
.point-t{ font-family:'Italiana',serif; font-size:clamp(20px,2.3vw,24px); margin:14px 0 12px; letter-spacing:.02em; }
.point p{ font-family:'Cormorant Garamond',serif; font-size:clamp(17px,2vw,19px); line-height:1.7; color:var(--soft); }

.partner h2{ font-family:'Italiana',serif; font-weight:400; font-size:clamp(32px,4.8vw,54px); line-height:1.12; margin:18px 0 22px; }
.partner p{ font-family:'Cormorant Garamond',serif; font-size:clamp(18px,2.2vw,21px); line-height:1.8; color:var(--soft); }
.benefits{ list-style:none; margin-top:26px; }
.benefits li{ position:relative; padding:13px 0 13px 26px; border-bottom:1px solid rgba(34,29,23,.14); font-size:14px; letter-spacing:.02em; color:var(--ember); }
.benefits li::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:9px; height:9px; border:1px solid var(--oak); border-radius:50%; }

/* 中文版 About 字型 */
body.lang-zh .about-hero h1,
body.lang-zh .point-t,
body.lang-zh .partner h2{ font-family:'Noto Sans TC',sans-serif; font-weight:500; letter-spacing:.05em; }
body.lang-zh .about-hero .hero-sub,
body.lang-zh .point p,
body.lang-zh .partner p{ font-family:'Noto Sans TC',sans-serif; font-style:normal; }
body.lang-zh .point-n{ font-family:'Italiana',serif; }
body.lang-zh .benefits li{ font-size:15px; }

/* 頁尾公司資訊(分三行、乾淨) */
.ft-company{ margin:18px auto 0; }
.ft-co-name{ font-family:'Italiana',serif; font-size:13px; letter-spacing:.18em; color:#c0b8a9; margin-bottom:8px; }
.ft-co-line{ font-size:12px; letter-spacing:.06em; color:#8a8377; line-height:1.9; }
body.lang-zh .ft-co-name{ font-family:'Noto Sans TC',sans-serif; font-size:14px; letter-spacing:.08em; }
body.lang-zh .ft-co-line{ font-family:'Noto Sans TC',sans-serif; font-size:13px; letter-spacing:.02em; }
.ft-meta{ margin-top:14px; }

/* About 頁的 CTA 按鈕 */
.ghost-btn{ display:inline-block; border:1px solid var(--oak); color:var(--oak); text-decoration:none;
  font-family:'Outfit',sans-serif; font-size:12px; letter-spacing:.3em; text-transform:uppercase;
  padding:14px 42px; transition:all .35s; }
.ghost-btn:hover{ background:var(--oak); color:var(--marble); }
body.lang-zh .ghost-btn{ font-family:'Noto Sans TC',sans-serif; letter-spacing:.14em; }

/* 中文小標籤再放大一階 */
body.lang-zh .scrollcue{ font-size:12px; letter-spacing:.14em; }
body.lang-zh .card-loc{ font-size:14px; }
body.lang-zh .point-n{ font-size:34px; }

/* 修正:窄畫面隱藏向下箭頭(避免壓到 hero 副標) */
@media (max-width:900px){ .scrollcue{ display:none; } }
/* 中文小字補強 */
body.lang-zh .story .sign{ font-size:15px; letter-spacing:.08em; }
body.lang-zh .benefits li{ font-size:15px; }
body.lang-zh .ft-meta{ font-size:12px; }
body.lang-zh .promise{ font-size:13px; }
.promise a{ color:inherit; text-decoration:none; }
.promise a:hover{ color:var(--oak); }

/* ---------- 右下角 LINE 浮動按鈕 ---------- */
.line-fab{ position:fixed; right:clamp(16px,3vw,26px); bottom:clamp(16px,3vw,26px); z-index:200;
  display:inline-flex; align-items:center; gap:8px; padding:12px 18px 12px 14px; border-radius:999px;
  background:#06C755; color:#fff; text-decoration:none; font-family:'Outfit','Noto Sans TC',sans-serif;
  font-size:15px; font-weight:500; letter-spacing:.04em; line-height:1;
  box-shadow:0 8px 24px rgba(6,199,85,.32), 0 2px 6px rgba(0,0,0,.18); transition:transform .25s, box-shadow .25s; }
.line-fab:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(6,199,85,.4), 0 3px 8px rgba(0,0,0,.2); }
.line-fab svg{ display:block; }
@media (max-width:560px){ .line-fab-txt{ display:none; } .line-fab{ padding:14px; } }

/* 大標題:平衡換行、不孤字;避免英文長字硬斷 */
.hero h1,.about-hero h1,.idea h2,.res-head h2,.stay h2,.story h2,.enq h2,.partner h2,.value-lead h2{
  text-wrap:balance; overflow-wrap:break-word; }

/* 中文版:四處「輔助說明句」統一字級/顏色(理念結語、住所副標、住所結語、故事署名) */
body.lang-zh .idea .lock,
body.lang-zh .res-head p,
body.lang-zh .res-foot,
body.lang-zh .story .sign{
  font-family:'Noto Sans TC',sans-serif; font-style:normal;
  font-size:16px; letter-spacing:.06em; line-height:1.85; color:var(--soft);
  text-transform:none;
}
