.reg-page{background:linear-gradient(180deg,#eff6ff 0%,#fff 38%);color:#0f2540}
.reg-page h1,
.reg-page h2,
.reg-page h3{color:#0f2540}
.reg-hero{position:relative;overflow:hidden;padding:3.25rem 0 2.5rem;background:linear-gradient(180deg,#e9f1fd 0%,#f5f9ff 100%);border-bottom:1px solid #dce8f6;color:#0f2540}
.reg-hero__sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.reg-hero__sky::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(29,78,216,0.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(29,78,216,0.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 85% 82% at 50% 36%,#000 45%,transparent 92%);mask-image:radial-gradient(ellipse 85% 82% at 50% 36%,#000 45%,transparent 92%)}
.reg-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(45% 70% at 82% 0%,rgba(59,130,246,0.1) 0%,transparent 60%),radial-gradient(38% 65% at 10% 100%,rgba(59,130,246,0.07000000000000001) 0%,transparent 60%);pointer-events:none}
.reg-hero__cloud{position:absolute;background:#fff;border-radius:50%;filter:blur(22px)}
.reg-hero__cloud--1{width:240px;height:70px;left:5%;bottom:-30px;opacity:0.6}
.reg-hero__cloud--2{width:360px;height:92px;left:58%;bottom:-42px;opacity:0.5}
.reg-hero__cloud--3{width:180px;height:54px;left:36%;bottom:-26px;opacity:0.45}
.reg-hero__route{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(960px,92%);height:auto}
.reg-hero__inner{position:relative;text-align:center}
.reg-hero__eyebrow{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 1rem;border-radius:999px;background:#fff;border:1px solid #cfe0f5;color:#1d4ed8;font-size:0.82rem;font-weight:600;letter-spacing:0.02em;box-shadow:0 2px 8px -4px rgba(29,78,216,0.3)}
.reg-hero__title{margin:1.1rem 0 0.6rem;font-weight:800;font-size:clamp(1.9rem,5vw,3rem);color:#0f2540}
.reg-hero__sub{max-width:46ch;margin:0 auto;font-size:1.05rem;line-height:1.6;color:#475569}
.reg-body{max-width:920px;padding:2.25rem 0 4rem;position:relative;z-index:2}
.reg-callout{display:flex;gap:1.25rem;align-items:flex-start;padding:1.6rem 1.75rem;background:#fff;border:1px solid #e2e8f0;border-left:5px solid #f97316;border-radius:16px;box-shadow:0 18px 50px -22px rgba(15,37,64,0.45)}
.reg-callout__icon{position:relative;flex:0 0 auto;width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:rgba(249,115,22,0.12);color:#f97316;font-size:1.7rem}
.reg-callout__icon-cross{position:absolute;right:-4px;bottom:-4px;font-size:1.35rem;background:#fff;border-radius:50%}
.reg-callout__head{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;margin-bottom:0.35rem}
.reg-callout__title{margin:0;font-size:1.3rem;font-weight:700}
.reg-callout__text{margin:0;color:#475569;line-height:1.6}
.reg-badge{display:inline-flex;align-items:center;padding:0.2rem 0.7rem;border-radius:999px;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em}
.reg-badge--off{color:#b42318;background:#fef2f2;border:1px solid #fecaca}
.reg-section{margin-top:3rem}
.reg-section__head{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.85rem}
.reg-section__chip{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;font-size:1.25rem;color:#fff}
.reg-section__chip--blue{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}
.reg-section__chip--orange{background:linear-gradient(135deg,#fb923c,#f97316)}
.reg-section__title{margin:0;font-size:1.5rem;font-weight:700}
.reg-lead{color:#475569;font-size:1.05rem;line-height:1.65;margin-bottom:1.25rem}
.reg-time-grid{margin-bottom:1.25rem}
.reg-time-card{height:100%;padding:1.4rem;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 12px 32px -24px rgba(15,37,64,0.5);transition:transform 0.25s ease,box-shadow 0.25s ease}
.reg-time-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px -22px rgba(15,37,64,0.5)}
.reg-time-card__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:rgba(59,130,246,0.12);color:#1d4ed8;font-size:1.3rem;margin-bottom:0.9rem}
.reg-time-card__title{font-size:1.1rem;font-weight:700;margin-bottom:0.85rem}
.reg-time-card__list{list-style:none;margin:0;padding:0}
.reg-time-card__list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:0.55rem 0;border-top:1px dashed #e2e8f0}
.reg-time-card__list li:first-child{border-top:0}
.reg-time-card__label{color:#475569;font-size:0.95rem}
.reg-time-card__value{font-weight:700;color:#1e3a8a;text-align:right}
.reg-note{display:flex;gap:0.9rem;padding:1.1rem 1.25rem;border-radius:14px;margin-top:1rem}
.reg-note>i{font-size:1.4rem;flex:0 0 auto;line-height:1.4}
.reg-note__title{font-weight:700;margin:0 0 0.25rem}
.reg-note__text{margin:0;line-height:1.6}
.reg-note__text + .reg-note__text{margin-top:0.4rem}
.reg-note__text--strong{font-weight:700}
.reg-note--info{background:#eff6ff;border:1px solid #dbeafe;color:#0f2540}
.reg-note--info>i{color:#1d4ed8}
.reg-note--warn{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}
.reg-note--warn>i{color:#f97316}
.reg-restrict{margin-top:1.25rem;padding:1.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:16px}
.reg-restrict__head{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem}
.reg-restrict__head>i{font-size:1.4rem;color:#b42318}
.reg-restrict__title{margin:0;font-size:1.15rem;font-weight:700;color:#b42318}
.reg-restrict__intro{color:#7f1d1d;line-height:1.6;margin-bottom:1rem}
.reg-cat-grid .reg-cat{height:100%;display:flex;align-items:flex-start;gap:0.6rem;padding:0.75rem 0.9rem;background:#fff;border:1px solid #fecaca;border-radius:11px;line-height:1.45}
.reg-cat-grid .reg-cat>i{color:#b42318;font-size:1.05rem;flex:0 0 auto;margin-top:0.15rem}
.reg-cat-grid .reg-cat>span{color:#0f2540;font-size:0.95rem}
.reg-rows{margin-top:1.5rem}
.reg-rows__title{font-size:1.1rem;font-weight:700;margin-bottom:0.75rem}
.reg-rows__items{display:flex;flex-wrap:wrap;gap:0.6rem}
.reg-rows__item{display:inline-flex;align-items:center;gap:0.5rem;padding:0.55rem 0.95rem;background:#fff7ed;border:1px solid #fdba74;border-radius:999px;color:#9a3412;font-weight:600;font-size:0.95rem}
.reg-rows__item>i{font-size:1rem}
.reg-where{margin-top:1.75rem}
.reg-where__title{font-size:1.1rem;font-weight:700;margin-bottom:0.85rem}
.reg-where__card{height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.75rem;padding:1.4rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 12px 32px -26px rgba(15,37,64,0.5);transition:transform 0.25s ease,box-shadow 0.25s ease}
.reg-where__card:hover{transform:translateY(-3px);box-shadow:0 20px 44px -24px rgba(15,37,64,0.5)}
.reg-where__card--static{background:#f8fafc;border-style:dashed;box-shadow:none;cursor:default}
.reg-where__card--static:hover{transform:none;box-shadow:none}
.reg-where__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:rgba(59,130,246,0.12);color:#1d4ed8;font-size:1.5rem}
.reg-where__text{margin:0;color:#0f2540;font-weight:600;line-height:1.5}
@media (prefers-reduced-motion:reduce){.reg-time-card,.reg-where__card{transition:none}.reg-time-card:hover,.reg-where__card:hover{transform:none}}