:root { --ink:#2a1812; --brown:#4b2719; --deep:#25130e; --gold:#edcf92; --cream:#fffaf2; --muted:#756256; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"PingFang TC","Microsoft JhengHei",sans-serif; line-height:1.75; }
a { color:inherit; }
img { display:block; max-width:100%; }
.container { width:min(1280px,calc(100% - 3rem)); margin-inline:auto; }
.skip-link { position:absolute; top:-5rem; left:1rem; padding:.7rem 1rem; background:var(--gold); color:var(--deep); z-index:10; }
.skip-link:focus { top:1rem; }
.portal-header { border-bottom:1px solid #dacdc0; }
.portal-header .container { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:5.5rem; }
.mumu-brand { text-decoration:none; line-height:1.3; }
.mumu-brand strong { display:block; font-size:1.3rem; letter-spacing:.1em; }
.mumu-brand span { display:block; margin-top:.35rem; font-size:.75rem; letter-spacing:.15em; color:var(--muted); }
.header-contact { display:flex; gap:1.4rem; align-items:center; font-size:.9rem; }
.header-contact a { text-underline-offset:.25rem; }
.header-contact a { white-space:nowrap; }
.portal-intro { padding:2.8rem 0 2rem; }
.eyebrow { margin:0 0 .6rem; font-size:.85rem; color:#985d37; font-weight:800; letter-spacing:.12em; }
h1 { margin:0; font-family:Georgia,"Noto Serif TC","Songti TC",serif; font-size:clamp(1.8rem,4vw,3rem); line-height:1.3; letter-spacing:-.03em; }
.intro-line { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.intro-line p { max-width:26rem; color:var(--muted); margin:0; }
.brand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.brand-card { display:flex; flex-direction:column; background:var(--deep); color:white; text-decoration:none; border:1px solid #5c4433; box-shadow:0 12px 30px #321b0d13; }
.brand-card:focus-visible { outline:3px solid #a73535; outline-offset:5px; }
.brand-card:hover .enter { background:var(--gold); color:var(--deep); }
.brand-art { position:relative; overflow:hidden; aspect-ratio:1088 / 603; background:#e7e5e1; }
.brand-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.brand-art.menorquina { background:#32271d; }
.brand-art.menorquina img { object-fit:cover; object-position:50% 46%; }
.brand-detail { flex:1; display:flex; flex-direction:column; padding:1.5rem 1.7rem 1.7rem; }
.brand-label { display:flex; align-items:center; justify-content:space-between; gap:1rem; color:var(--gold); font-size:.85rem; }
.brand-detail h2 { margin:.65rem 0 .5rem; font-size:1.55rem; }
.brand-detail h2 span { font-family:Georgia,serif; font-weight:400; }
.brand-detail p { margin:0 0 1.5rem; color:#dfd4ca; font-size:1rem; }
.enter { margin-top:auto; align-self:start; min-height:2.9rem; padding:.6rem 1.1rem; border:1px solid var(--gold); color:var(--gold); font-weight:700; border-radius:999px; transition:background .2s,color .2s; }
.portal-summary { display:flex; flex-wrap:wrap; gap:.7rem 2rem; padding:1.4rem 0; color:var(--muted); border-bottom:1px solid #dacdc0; font-size:.9rem; }
.portal-footer { padding:1.5rem 0 2rem; display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-size:.875rem; }
.brand-holding { margin-block:3rem; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--deep); color:white; }
.holding-art { min-width:0; display:grid; }
.holding-art img { width:100%; height:100%; object-fit:cover; }
.holding-copy { padding:clamp(1.5rem,5vw,4rem); align-self:center; }
.holding-copy .eyebrow { color:var(--gold); }
.holding-logo { width:min(22rem,100%); height:auto; margin-bottom:2rem; }
.holding-copy h1 { font-size:clamp(2rem,4vw,3rem); }
.holding-copy p { color:#dfd4ca; }
.holding-status { padding:1rem 0; border-block:1px solid #674f39; }
.holding-links { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; }
.holding-links a { text-decoration:none; }
@media(max-width:800px) {
  .container { width:calc(100% - 1.5rem); }
  .portal-header .container { min-height:5rem; }
  .header-contact .phone { display:none; }
  .header-contact { gap:.9rem; }
  .intro-line { display:block; }
  .intro-line p { max-width:none; margin-top:.9rem; }
  .portal-intro { padding:2rem 0 1.5rem; }
  .brand-grid,.brand-holding { grid-template-columns:1fr; }
  .brand-detail { padding:1.2rem; }
  .brand-detail h2 { font-size:1.4rem; }
  .portal-footer { flex-direction:column; gap:.4rem; }
  .holding-art { max-height:24rem; overflow:hidden; }
  .holding-art img { max-height:24rem; }
}
@media(max-width:480px) { .portal-header .container { flex-wrap:wrap; padding-block:.8rem; } .header-contact { margin-left:auto; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
