:root{--ink: #1B1B1B;--ink-soft: #4A4A4A;--paper: #F7F4EE;--paper-2: #EFEADF;--paper-3: #E5DEC9;--line: #D8CFB7;--line-2: #B5AB8B;--navy: #0E1B2C;--navy-2: #1A2C45;--navy-3: #243D5C;--gold: #F2D27A;--gold-2: #E5C76B;--gold-deep: #A8842A;--signal: #B33A2A;--signal-2: #FFD9A8;--line-spire: #C0392B;--line-quay: #1F4E8C;--line-tide: #0E7C5A;--line-cordage: #D4A017;--line-pelagic: #2E8B8B;--serif: "Iowan Old Style", "Palatino Linotype", "Palatino", "Georgia", ui-serif, serif;--sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--container: 76rem;--gutter: clamp(1rem, 3vw, 2rem);--radius: 4px;--radius-lg: 8px;--shadow: 0 1px 0 rgba(14, 27, 44, .06), 0 8px 24px -12px rgba(14, 27, 44, .18);--shadow-lg: 0 2px 0 rgba(14, 27, 44, .08), 0 24px 60px -24px rgba(14, 27, 44, .32)}@media(prefers-color-scheme:dark){:root{color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg,video,canvas{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}[hidden]{display:none!important}a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}html{font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;margin:0 0 .6em;color:var(--navy);line-height:1.15}h1{font-size:clamp(2.2rem,4vw + 1rem,3.6rem);letter-spacing:-.02em}h2{font-size:clamp(1.5rem,1.5vw + 1rem,2.1rem)}h3{font-size:1.25rem}h4{font-size:1.05rem}p{margin:0 0 1em}.lede{font-family:var(--serif);font-size:1.25rem;line-height:1.5;color:var(--ink-soft);font-style:italic}.eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);display:inline-block}.eyebrow--gold{color:var(--gold-2)}.eyebrow--navy{color:var(--navy)}.langpair{display:inline-flex;align-items:baseline;gap:.4em}.langpair .vm{font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:.9em}.langpair .vm:before{content:"·";margin-right:.45em;color:var(--line-2)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}.section{padding:clamp(2.5rem,4vw,4.5rem) 0}.section--ink{background:var(--navy);color:var(--paper)}.section--ink h1,.section--ink h2,.section--ink h3{color:var(--paper)}.section--gold{background:linear-gradient(180deg,var(--gold) 0%,var(--gold-2) 100%);color:var(--navy)}.statusbar{background:var(--navy);color:var(--paper);font-size:.78rem;letter-spacing:.04em}.statusbar__inner{display:flex;align-items:center;gap:1.5rem;padding:.5rem var(--gutter);max-width:var(--container);margin:0 auto;flex-wrap:wrap}.statusbar__dot{width:7px;height:7px;border-radius:50%;background:#4ecdc4;box-shadow:0 0 #4ecdc499;animation:pulse 2.4s ease-in-out infinite}.statusbar__item{display:inline-flex;align-items:center;gap:.5rem}.statusbar__sep{color:var(--line-2);opacity:.5}@keyframes pulse{0%,to{box-shadow:0 0 #4ecdc499}50%{box-shadow:0 0 0 6px #4ecdc400}}@media(prefers-reduced-motion:reduce){.statusbar__dot{animation:none}}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:saturate(160%) blur(6px)}.site-header__inner{display:flex;align-items:center;gap:1.5rem;padding:.85rem var(--gutter);max-width:var(--container);margin:0 auto}.site-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--navy)}.site-brand__name{display:flex;flex-direction:column;line-height:1.05}.site-brand__name .en{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.site-brand__name .vm{font-family:var(--serif);font-size:.78rem;color:var(--ink-soft);font-style:italic}.nav{margin-left:auto;display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.nav__link{display:inline-flex;align-items:center;padding:.55rem .85rem;color:var(--navy);text-decoration:none;font-size:.92rem;font-weight:500;border-radius:var(--radius);position:relative;transition:background-color .15s}.nav__link:hover{background:var(--paper-2)}.nav__link[aria-current=page]{color:var(--navy)}.nav__link[aria-current=page]:after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.2rem;height:2px;background:var(--gold-2);border-radius:1px}.nav-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--navy)}.nav-toggle:hover{background:var(--paper-2)}.nav-toggle svg{width:22px;height:22px}@media(max-width:880px){.nav{display:none}.nav[data-open=true]{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--gutter);flex-direction:column;align-items:stretch;gap:0}.nav[data-open=true] .nav__link{padding:.85rem .5rem;border-radius:0;border-bottom:1px solid var(--line)}.nav-toggle{display:inline-flex}}.site-footer{background:var(--navy);color:var(--paper);padding:3rem 0 2rem;margin-top:4rem}.site-footer a{color:var(--gold)}.site-footer a:hover{color:var(--gold-2)}.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}@media(max-width:760px){.site-footer__grid{grid-template-columns:1fr 1fr;gap:1.75rem}}@media(max-width:460px){.site-footer__grid{grid-template-columns:1fr}}.site-footer h4{color:var(--gold);font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .9em}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:0 0 .4em;font-size:.92rem}.site-footer__bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:#fff9}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-size:.95rem;font-weight:500;border-radius:var(--radius);text-decoration:none;border:1px solid transparent;transition:background-color .15s,transform .1s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--navy);color:var(--paper)}.btn--primary:hover{background:var(--navy-3)}.btn--ghost{background:transparent;color:var(--navy);border-color:var(--line-2)}.btn--ghost:hover{background:var(--paper-2)}.btn--gold{background:var(--gold);color:var(--navy)}.btn--gold:hover{background:var(--gold-2)}.btn--block{display:flex;width:100%;justify-content:center}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:2px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow)}.card--ink{background:var(--navy);color:var(--paper);border-color:var(--navy-2)}.card--ink h2,.card--ink h3{color:var(--paper)}.notice{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.1rem;border-radius:var(--radius-lg);background:var(--signal-2);border-left:4px solid var(--signal);font-size:.95rem;color:var(--ink)}.notice__icon{flex-shrink:0;width:22px;height:22px;color:var(--signal);margin-top:1px}.notice__title{font-weight:600;margin:0 0 .2em}.notice__body{margin:0;color:var(--ink-soft)}.notice__body a{color:var(--signal);font-weight:500}.notice--info{background:#e6f0f7;border-color:var(--line-quay)}.notice--info .notice__icon{color:var(--line-quay)}.field{display:block;margin-bottom:1.1rem}.field__label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.35rem;color:var(--navy)}.field__hint{display:block;font-size:.82rem;color:var(--ink-soft);margin-top:.3rem}.field__error{display:none;font-size:.85rem;color:var(--signal);margin-top:.4rem;font-weight:500}.field[data-invalid=true] .field__error{display:block}.field[data-invalid=true] input,.field[data-invalid=true] select,.field[data-invalid=true] textarea{border-color:var(--signal);background:#fff3f0}.input,.select,.textarea{display:block;width:100%;padding:.65rem .85rem;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--paper);font-family:var(--sans);font-size:.95rem;color:var(--ink);transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #0e1b2c1f}.textarea{min-height:7rem;resize:vertical}.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.2rem}.checkbox{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.92rem}.checkbox input{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--navy)}.grid{display:grid;gap:1.5rem}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}@media(max-width:760px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}.skip-link{position:absolute;top:-100px;left:.5rem;background:var(--navy);color:var(--paper);padding:.5rem .85rem;border-radius:var(--radius);z-index:100;text-decoration:none;font-weight:500}.skip-link:focus{top:.5rem}@media print{:root{--paper: #fff}body{background:#fff;color:#000;font-size:10pt}.site-header,.site-footer,.statusbar,.no-print{display:none!important}.container{max-width:none;padding:0}a{color:#000;text-decoration:underline}a[href]:after{content:""}.timetable-print{display:block!important}.ticket{box-shadow:none!important;border:1px solid #000}.ticket__animation{display:none!important}h1,h2,h3{color:#000;page-break-after:avoid}table,tr{page-break-inside:avoid}}body.is-printing>*:not(.print-ticket-only){display:none!important}body.is-printing .print-ticket-only{display:block;position:fixed;inset:0;background:#fff;z-index:99999;overflow:auto;padding:2rem}body.is-printing .print-ticket-only .ticket{max-width:22rem;margin:2rem auto;box-shadow:none;border:1px solid #000;background:#fff;page-break-inside:avoid}body.is-printing .print-ticket-only svg{max-width:100%}@media print{body{background:#fff}body>*:not(.print-ticket-only){display:none!important}.print-ticket-only{display:block!important;position:static;padding:0}.print-ticket-only .ticket{max-width:22rem;margin:2rem auto;box-shadow:none;border:1px solid #000;background:#fff;page-break-inside:avoid}.print-ticket-only svg{max-width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.measure{max-width:38rem}.measure-wide{max-width:52rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.muted{color:var(--ink-soft)}.tiny{font-size:.82rem}.center{text-align:center}.linechip{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--ink)}.linechip__swatch{width:14px;height:14px;border-radius:50%;flex-shrink:0}.linechip__mode{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:600;margin-left:.4em}.rule{height:1px;background:var(--line);border:0;margin:2rem 0}.bg-ornament{position:absolute;pointer-events:none;user-select:none;opacity:.08}table.data{width:100%;border-collapse:collapse;font-size:.95rem}table.data th,table.data td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--line)}table.data th{font-weight:600;color:var(--navy);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;background:var(--paper-2)}table.data tr:hover td{background:var(--paper-2)}table.data td.num{font-variant-numeric:tabular-nums;text-align:right}table.data td.right{text-align:right}.num{font-variant-numeric:tabular-nums}
