:root{color-scheme:light;--ink:#302322;--plum:#4a2831;--rust:#923b2d;--paper:#fff8ef;--sand:#f4e4d1;--line:#d7bda8;font:19px/1.7 "Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);overflow-wrap:anywhere}a{color:inherit;text-underline-offset:.22em}a:focus-visible{outline:3px solid #bd642d;outline-offset:4px}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin:0 0 .65em}h1,h2{font-family:"Noto Serif TC","PMingLiU",serif;line-height:1.16}h1{font-size:clamp(2.35rem,7vw,5rem);letter-spacing:.05em}h2{font-size:clamp(1.65rem,3.4vw,2.8rem)}h3{font-size:1.28rem}
.masthead{background:var(--plum);color:#fff8ef;padding:14px clamp(20px,6vw,90px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 30px}.masthead a{text-decoration:none}.brand{font-size:1.25rem;font-weight:850}.masthead nav{display:flex;gap:4px 22px;flex-wrap:wrap}.masthead nav a{display:grid;align-items:center;min-height:44px;font-weight:650}.home-hero{padding:clamp(30px,6vw,90px) 0 0;background:var(--sand);text-align:center}.hero-copy p{max-width:34em}.home-hero .hero-copy p{margin-inline:auto}.home-hero .hero-copy{padding:0 20px 30px}.home-hero>img{width:min(1250px,calc(100% - 44px));margin:auto;aspect-ratio:2.5;object-fit:cover;object-position:center 42%;border-radius:140px 140px 0 0}.eyebrow{color:var(--rust);font-size:.85rem;font-weight:850;letter-spacing:.14em}.actions,.product-links{display:flex;flex-wrap:wrap;gap:12px}.home-hero .actions{justify-content:center}.btn,.product-links a{display:inline-flex;align-items:center;min-height:48px;padding:9px 20px;border-radius:999px;text-decoration:none;font-weight:800;background:var(--rust);color:white}.btn.secondary,.btn-outline{background:var(--paper);color:var(--plum);border:1px solid var(--line)}
.container{width:min(1160px,calc(100% - 44px));margin-inline:auto}main>section:not(.home-hero,.page-hero){padding-block:clamp(30px,6vw,75px)}.page-hero{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--sand)}.page-hero:has(> :only-child){grid-template-columns:1fr}.page-hero .hero-copy{padding:clamp(24px,6vw,90px)}.page-hero>img{width:100%;height:100%;max-height:610px;object-fit:cover}
.intro-grid,.about-grid,.contact-grid,.embed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.intro .intro-grid:not(.container){grid-template-columns:repeat(3,minmax(0,1fr))}.feature,.quick-card,.about-card,.embed-card{background:white;border:1px solid var(--line);border-top:4px solid var(--rust);padding:22px}.products,.gallery-section,.contact{background:var(--sand)}.product-grid,.gallery-grid,.photo-list,.legacy-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card,.photo,.gallery-item{background:var(--paper);overflow:hidden;border:1px solid var(--line)}.product-card{text-decoration:none;display:grid;grid-template-columns:40% 1fr;align-items:center}.product-card>div:only-child{grid-column:1/-1}.product-card img,.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.photo img{width:100%}.product-card-content,figcaption{padding:15px 18px}.legacy-content p{grid-column:1/-1}
iframe{display:block;width:100%;max-width:100%;border:0;min-height:300px}.video-ratio iframe{aspect-ratio:16/9;height:auto;min-height:0}.video-grid{display:grid;gap:20px}.embed-body iframe,.map iframe{height:370px}footer{background:var(--plum);color:#fff8ef;padding:36px clamp(20px,6vw,85px)}.phonebar{display:none}
@media(max-width:780px){.page-hero,.intro .intro-grid:not(.container),.about-grid,.contact-grid,.embed-grid,.intro-grid{grid-template-columns:1fr}.home-hero>img{aspect-ratio:1.7;border-radius:70px 70px 0 0}.page-hero>img{max-height:375px}.product-grid,.gallery-grid,.photo-list,.legacy-content{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{grid-template-columns:1fr}}
@media(max-width:560px){:root{font-size:20px}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.masthead{padding:10px 18px}.masthead nav{font-size:.82rem;gap:4px 14px}.container,.home-hero>img{width:calc(100% - 36px)}.home-hero>img{aspect-ratio:1.35;border-radius:50px 50px 0 0}.product-grid,.photo-list,.legacy-content{grid-template-columns:1fr}.product-card{grid-template-columns:38% 1fr}.gallery-grid{gap:10px}.phonebar{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:5;padding-bottom:env(safe-area-inset-bottom);background:var(--rust);color:white;text-align:center}.phonebar a{display:grid;align-items:center;min-height:60px;padding:8px 4px;font-weight:800;text-decoration:none}.phonebar a:first-child{background:var(--plum)}.embed-body iframe,.map iframe{height:320px}}

:root {
  --ink:#172936;
  --plum:#142d41;
  --rust:#164f73;
  --paper:#fff;
  --sand:#eaf4fa;
  --line:#c4d8e5;
}
.masthead { background:white; color:var(--plum); border-bottom:1px solid var(--line); }
.masthead .brand { border-left:5px solid #f4c64e; padding-left:12px; }
.home-hero {
  display:flex; flex-direction:column-reverse; text-align:left;
  padding:0; background:#eaf4fa;
}
.home-hero > img {
  width:100%; max-height:510px; aspect-ratio:2.6; object-fit:cover;
  object-position:center 48%; border-radius:0;
}
.home-hero .hero-copy {
  width:min(1100px,calc(100% - 44px)); margin:-45px auto 0;
  padding:clamp(22px,5vw,58px); position:relative;
  background:white; border-top:7px solid #f4c64e;
}
.home-hero .hero-copy p { margin-inline:0; }
.home-hero .actions { justify-content:flex-start; }
.home-hero h1 { font-size:clamp(2.05rem,5.8vw,4.3rem); }
.btn,.product-links a { border-radius:5px; }
.home-hero .btn:first-child { background:#f4c64e; color:#172936; }
.gallery { background:var(--sand); }
.gallery-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gallery-item img { aspect-ratio:1; }
.products { background:white; }
.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-card { display:flex; flex-direction:column; align-items:stretch; border:0; border-bottom:3px solid var(--line); }
.product-card:hover { border-color:var(--rust); }
.product-card img { aspect-ratio:1.45; }
.product-card-content { padding-inline:0; }
.page-hero { background:var(--sand); border-bottom:5px solid #f4c64e; }
@media(max-width:780px) {
  .gallery-grid,.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
  :root { font-size:21px; }
  .home-hero > img { aspect-ratio:1.65; }
  .home-hero .hero-copy { width:calc(100% - 28px); margin-top:-15px; padding:18px; }
  .product-grid { grid-template-columns:1fr; }
}
