:root{--ink:#3a4448;--soft:#6f7d82;--blue:#E9F3F5;--accent:#8fbcc6;--gray:#f3f3f1;--line:#d9e3e6}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--ink);font-family:'Noto Sans TC',sans-serif;font-weight:300;line-height:2.2;letter-spacing:.18em;font-size:15px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(860px,100% - 32px);margin:0 auto}
.serif{font-family:'Noto Serif TC',serif;font-weight:400}
.center{text-align:center}

/* 頁首 */
header{padding:34px 0 18px}
.top{display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:46px}
.brand b{font-family:'Noto Serif TC',serif;font-weight:500;font-size:19px;letter-spacing:.3em;position:relative;padding-bottom:6px}
.brand b:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:2px;background:var(--accent)}
.icons{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--soft)}
.ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:500;letter-spacing:0}
.ig{background:linear-gradient(45deg,#f5b44a,#e1306c,#8a3ab9)}.ln{background:#06c755}
nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 38px;list-style:none;font-size:13px;letter-spacing:.3em;margin-top:30px}
nav a:hover{color:var(--accent)}

/* 主視覺 */
.hero{padding:70px 0 40px}
.hero img{width:min(260px,62%);margin:0 auto 46px;opacity:.92}
.hero h1{font-size:15px;font-weight:400;letter-spacing:.3em}
.sns{display:flex;justify-content:center;gap:14px;margin:16px 0 34px}
.sns .ico{width:36px;height:36px;font-size:12px}
.lead{font-size:14px;line-height:2.5;letter-spacing:.32em}

/* 水藍面板 */
.panel{background:var(--blue);margin-top:30px;padding:56px 0 0}
.panel .sig{text-align:right;padding-right:36px;font-family:'Noto Serif TC',serif;font-size:22px;letter-spacing:.3em}
.panel .sig span{border-bottom:2px solid var(--accent);padding-bottom:4px}
.panel p{text-align:center;font-size:14px;letter-spacing:.3em;padding:26px 20px 34px;line-height:2.4}
.panel img{width:100%;height:540px;object-fit:cover;object-position:center 25%}

/* 段落文字 */
.words{padding:56px 0 30px;font-size:14px;letter-spacing:.3em;line-height:2.5}
.words p+p{margin-top:40px}

/* 縮圖列 */
.thumbs{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:10px;align-items:center;margin:20px auto 60px}
.thumbs img{aspect-ratio:1;object-fit:cover;width:100%}
.more{font-family:'Noto Serif TC',serif;border-bottom:1px solid var(--ink);padding:0 4px;margin-left:14px;font-size:15px;letter-spacing:.3em;white-space:nowrap}

/* 標題 */
h2{font-family:'Noto Serif TC',serif;font-weight:500;font-size:22px;letter-spacing:.4em;text-align:center;margin-bottom:34px}
h2 small{display:block;font-family:'Noto Sans TC';font-weight:300;font-size:11px;letter-spacing:.5em;color:var(--soft);margin-top:4px}
section{padding:60px 0}

/* 方案 */
.plan{background:var(--blue);display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-bottom:22px}
.plan:nth-of-type(even){grid-template-columns:1fr 1fr}
.plan img{width:100%;height:420px;object-fit:cover;object-position:center 30%}
.plan .txt{padding:36px 34px;letter-spacing:.12em;line-height:2}
.plan .name{font-family:'Noto Serif TC',serif;font-size:22px;letter-spacing:.25em}
.plan .tag{display:inline-block;background:#fff;color:var(--soft);font-size:11px;padding:0 10px;margin-left:8px;letter-spacing:.2em;vertical-align:middle}
.plan .price{font-size:26px;font-weight:400;margin:6px 0 14px;letter-spacing:.08em}
.plan ul{list-style:none;font-size:13px}
.plan li:before{content:"・"}
.plan .meta{margin-top:12px;font-size:12px;color:var(--soft)}
.addon{background:var(--gray);padding:26px 30px;font-size:13px;letter-spacing:.12em;line-height:2.1}
.addon b{font-weight:500}

/* 流程 */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.step{background:var(--gray);border-radius:20px;padding:24px 14px;text-align:center;letter-spacing:.1em}
.step b{display:block;font-weight:400;font-size:16px;letter-spacing:.3em;margin-bottom:10px}
.step p{font-size:12px;line-height:2;text-align:left}
.photo-note{position:relative;width:min(640px,100%);margin:44px auto 0}
.photo-note img{width:100%;height:430px;object-fit:cover}
.photo-note p{position:absolute;top:18px;left:20px;font-size:13px;letter-spacing:.3em;line-height:2.2;background:rgba(255,255,255,.75);padding:6px 12px}

/* 圓形入口 */
.circles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}
.circles a{display:block}
.circles .c{width:190px;height:190px;border-radius:50%;margin:0 auto 16px;overflow:hidden;background:var(--gray);display:grid;place-items:center}
.circles .c img{width:100%;height:100%;object-fit:cover}
.circles .c img.lg{width:96px!important;height:auto!important;object-fit:contain}
.circles b{font-weight:500;letter-spacing:.3em;color:#5f99a6;font-size:15px}
.circles small{display:block;font-size:12px;color:var(--soft);letter-spacing:.3em}

/* 常見問題 */
.faq details{border-bottom:1px solid var(--line);padding:16px 6px}
.faq summary{cursor:pointer;list-style:none;font-weight:400;letter-spacing:.15em;display:flex;justify-content:space-between}
.faq summary:after{content:"＋";color:var(--accent)}
.faq details[open] summary:after{content:"－"}
.faq p{font-size:13px;letter-spacing:.1em;line-height:2.1;color:var(--soft);padding-top:8px}

/* 預約 */
.book{text-align:center}
.book p{font-size:13px;color:var(--soft)}
.btn{display:block;width:min(400px,100%);margin:20px auto 0;background:#e8e8e6;padding:14px;font-family:'Noto Serif TC',serif;font-size:17px;letter-spacing:.35em;transition:.3s}
.btn:hover{background:var(--blue)}
.btn.line{background:#fff;border:1px solid var(--line);font-size:14px;margin-top:12px}

/* 作品牆 */
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.grid img{aspect-ratio:1;object-fit:cover;width:100%}

/* 交通 */
.access{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.access iframe{width:100%;height:300px;border:0;filter:grayscale(.4);background:var(--gray)}
.access p{font-size:13px;letter-spacing:.12em;line-height:2.2}
.access b{font-weight:500}

footer{padding:60px 0 50px;font-size:12px;letter-spacing:.15em;color:var(--soft)}
footer .igl{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:40px}
footer .fb{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
footer .fb img{height:64px}
footer .warn{margin-top:26px;font-size:11px;line-height:1.9}

@media(max-width:720px){
 body{font-size:14px;letter-spacing:.1em}
 .icons span{display:none}
 nav ul{gap:4px 20px;font-size:12px}
 .lead,.words,.panel p{letter-spacing:.15em;font-size:13px}
 .panel img{height:380px}
 .thumbs{grid-template-columns:repeat(5,1fr);gap:4px}
 .thumbs .more{grid-column:span 5;text-align:center;margin:14px auto 0}
 .plan{grid-template-columns:1fr!important}
 .plan img{height:300px}
 .steps{grid-template-columns:1fr 1fr}
 .circles{grid-template-columns:1fr;gap:34px}
 .grid{grid-template-columns:repeat(2,1fr)}
 .step:last-child{grid-column:span 2}
 .access{grid-template-columns:1fr}
}
