:root{--font-display:var(--font-lora), var(--font-serif-tc), "Songti TC", serif;--font-body:var(--font-inter), "PingFang HK", "Microsoft JhengHei", "Noto Sans TC";--ground:#fff;--ground-glass:#fff9;--ground-rgb:255, 255, 255;--navy:#1b3b60;--ink:#10211f;--cream:#f4efe4;--gold:#a7823a;--gold-light:#c7a052;--body-ink:#2d3f3d;--muted:#5b6b69;--on-dark-muted:#dfe7e4;--card-alt:#f8f5ee;--tan-light:#f3eee5;--gutter:clamp(18px, 4vw, 48px);--section-y:clamp(80px, 12vh, 140px);--contour-spill:320px}html[data-theme=warm]{--ground:#f4efe4;--ground-glass:#f4efe499;--ground-rgb:244, 239, 228}html{scroll-behavior:smooth}html,body{overflow-x:clip}*,:before,:after{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--font-body), "Inter", sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--navy);text-decoration:none}a:hover{color:var(--ink)}h1,h2,h3,p{margin:0}button,input,textarea{font:inherit}input::placeholder,textarea::placeholder{color:#10211f66}.display{font-family:var(--font-display), Georgia, serif;letter-spacing:-.02em;text-wrap:balance;font-weight:500;line-height:1}.display-strong{font-family:var(--font-body), "Inter", sans-serif;letter-spacing:-1px;text-wrap:balance;font-weight:500;line-height:1.15}[data-reveal]{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}[data-reveal=in]{opacity:1;transform:none}.tide{color:var(--navy)}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--navy);font-size:11px;font-weight:600}.lead{color:var(--body-ink);text-wrap:pretty;font-weight:300;line-height:1.6}.caps{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600}.section{padding:var(--section-y) var(--gutter)}.container{max-width:1240px;margin:0 auto}.btn{background:var(--ink);color:var(--cream);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border:0;border-radius:2px;padding:15px 24px;font-size:12px;font-weight:600;display:inline-block}.btn:hover{color:var(--cream)}.textlink{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap;font-size:12px;font-weight:600;transition:color .2s}.textlink:hover{color:var(--navy)}.textlink>span{border-bottom:1px solid;padding-bottom:3px}[data-wave]{isolation:isolate;position:relative;overflow:hidden}[data-wave]:before{content:"";z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 40' preserveAspectRatio='none'%3E%3Cpath d='M0 8 Q25 0 50 8 Q75 16 100 8 Q125 3 150 8 Q175 14 200 8 Q225 0 250 8 Q275 16 300 8 Q325 3 350 8 Q375 14 400 8 Q425 0 450 8 Q475 16 500 8 Q525 3 550 8 Q575 14 600 8 Q625 0 650 8 Q675 16 700 8 Q725 3 750 8 Q775 14 800 8 V40 H0 Z' fill='%23ffffff'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;width:800%;height:70%;transition:top 1.1s cubic-bezier(.22,.61,.36,1);animation:16s linear infinite wave;position:absolute;top:100%;left:0}[data-wave=mono]:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 40' preserveAspectRatio='none'%3E%3Cpath d='M0 8 Q25 0 50 8 Q75 16 100 8 Q125 3 150 8 Q175 14 200 8 Q225 0 250 8 Q275 16 300 8 Q325 3 350 8 Q375 14 400 8 Q425 0 450 8 Q475 16 500 8 Q525 3 550 8 Q575 14 600 8 Q625 0 650 8 Q675 16 700 8 Q725 3 750 8 Q775 14 800 8 V40 H0 Z' fill='%23000000'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}[data-wave]:hover:before{top:40%}[data-wave=true],[data-wave=ink]{outline-offset:-1px;outline:1px solid #0000;transition:color .6s,outline-color .6s,transform .6s cubic-bezier(.22,.61,.36,1)}[data-wave=true]:before,[data-wave=ink]:before{height:200%;transition-duration:1.5s}[data-wave=ink]:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 40' preserveAspectRatio='none'%3E%3Cpath d='M0 8 Q25 0 50 8 Q75 16 100 8 Q125 3 150 8 Q175 14 200 8 Q225 0 250 8 Q275 16 300 8 Q325 3 350 8 Q375 14 400 8 Q425 0 450 8 Q475 16 500 8 Q525 3 550 8 Q575 14 600 8 Q625 0 650 8 Q675 16 700 8 Q725 3 750 8 Q775 14 800 8 V40 H0 Z' fill='%23000000'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}[data-wave=true]:hover{color:var(--ink);outline-color:var(--ink);transform:scale(1.05)}[data-wave=ink]:hover{color:#fff;outline-color:#fff;transform:scale(1.05)}[data-wave=true]:hover:before,[data-wave=ink]:hover:before{top:-80%}@keyframes wave{0%{transform:translate(0)}to{transform:translate(-25%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-wave]:before{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[data-menu=opening] :is(main,footer,[data-fx=announce],[data-fx=nav]){animation:.75s cubic-bezier(.76,0,.24,1) both menuPush}html[data-menu=closing] :is(main,footer,[data-fx=announce],[data-fx=nav]){animation:.6s cubic-bezier(.76,0,.24,1) both menuPull}@keyframes menuPush{0%{filter:none;transform:none}to{filter:brightness(.7);transform:translate(-14%)scale(.96)}}@keyframes menuPull{0%{filter:brightness(.7);transform:translate(-14%)scale(.96)}to{filter:none;transform:none}}@media (prefers-reduced-motion:reduce){html[data-menu] :is(main,footer,[data-fx=announce],[data-fx=nav]){animation:none}}
