:root{--green-50: #cac2c5;--green-100: #c9b6be;--green-200: #c5a1ad;--green-300: #bf879a;--green-400: #ba7086;--green-500: #b25673;--green-600: #a33f60;--green-700: #892e4e;--green-800: #6a233c;--green-900: #4a1a2b;--ink-950: #130a11;--ink-900: #1d0f1a;--ink-800: #281622;--ink-700: #361e2e;--ink-600: #462836;--ink-500: #583545;--gold-400: #ad847b;--gold-500: #a16f6b;--gold-600: #875856;--gold-700: #6e4644;--white: #ffffff;--stone-50: #c9c6c6;--stone-100: #c3bebf;--stone-200: #bab1b4;--stone-300: #ab9ea3;--stone-400: #897a81;--stone-500: #685a62;--stone-600: #4a3e46;--stone-700: #362e34;--stone-800: #231d21;--stone-900: #151115;--sand-50: #c9c5c2;--sand-100: #c5bab8;--sand-200: #beaaaa;--sand-300: #b6969a;--success: #6fbf4a;--info: #ba7086;--warning: #e0a94a;--danger: #ff8a7a;--bg-page: #130a11;--bg-surface: #1d0f1a;--surface-card: #1d0f1a;--surface-raised: #281622;--surface-muted: #170c14;--surface-sand: #1a0e17;--surface-ink: #0e070c;--surface-ink-2: #1d0f1a;--text-strong: #f7e9ef;--text-body: #d9c6cf;--text-muted: #b49aa7;--text-faint: #9c8290;--text-link: #ba7086;--text-on-dark: #f7e9ef;--text-on-dark-muted: rgba(247,233,239,0.72);--text-sub: rgba(247,233,239,0.72);--text-inverse: #ffffff;--brand: #b25673;--brand-strong: #ba7086;--brand-tint: rgba(178,86,115,0.14);--brand-soft: rgba(178,86,115,0.24);--accent-gold: #a16f6b;--accent-gold-soft: rgba(161,111,107,0.16);--gold-text: #ad847b;--signal: #ba7086;--border: rgba(247,233,239,0.09);--border-strong: rgba(247,233,239,0.18);--divider: rgba(247,233,239,0.07);--border-ink: rgba(247,233,239,0.12);--ring: rgba(212,160,177,0.95);--panel-sheen: linear-gradient(180deg,rgba(255,255,255,0.055) 0%,rgba(255,255,255,0.022) 42%,rgba(255,255,255,0.012) 100%);--panel-border: rgba(255,255,255,0.115);--panel-highlight: inset 0 1px 0 rgba(255,255,255,0.06);--panel-accent: linear-gradient(150deg,rgba(178,86,115,0.22) 0%,rgba(178,86,115,0.07) 48%,rgba(137,46,78,0.10) 100%)}:root{--font-display: 'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--font-sans: 'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--font-serif: 'Instrument Serif',Georgia,'Times New Roman',serif;--font-tech: 'Plus Jakarta Sans',system-ui,sans-serif;--font-mono: 'Plus Jakarta Sans',system-ui,sans-serif;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--fs-mega: clamp(3rem,1rem + 7.4vw,8.4rem);--fs-display: clamp(2.6rem,1.1rem + 5vw,6rem);--fs-h1: clamp(2.4rem,1.2rem + 4vw,4.8rem);--fs-h2: clamp(2rem,1.1rem + 2.8vw,3.6rem);--fs-h3: clamp(1.25rem,1.05rem + 0.6vw,1.55rem);--fs-h4: 1.125rem;--fs-body-lg: 1.1875rem;--fs-body: 1.0625rem;--fs-sm: 0.9375rem;--fs-xs: 0.8125rem;--fs-eyebrow: 0.75rem;--lh-tight: 0.96;--lh-snug: 1.08;--lh-heading: 1.04;--lh-body: 1.62;--lh-relaxed: 1.75;--ls-tighter: -0.035em;--ls-tight: -0.025em;--ls-normal: 0em;--ls-wide: 0.04em;--ls-eyebrow: 0.12em;--ls-mono: 0.04em}:root:lang(ja){--font-display: 'Plus Jakarta Sans','Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif}:root:lang(ko){--font-display: 'Plus Jakarta Sans','Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif}:root:lang(ar){--font-display: 'IBM Plex Sans Arabic','Noto Sans Arabic',Tahoma,sans-serif}:root:lang(ru){--font-display: 'Plus Jakarta Sans','Manrope','Segoe UI',Arial,sans-serif}:root:lang(ja),:root:lang(ko),:root:lang(ar),:root:lang(ru){--font-sans: var(--font-display);--font-tech: var(--font-display);--font-mono: var(--font-display)}:root{--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-9: 4rem;--space-10: 5rem;--space-12: 7rem;--section-y: clamp(4rem,2rem + 5vw,7.5rem);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-2xl: 36px;--radius-pill: 999px;--radius-card: var(--radius-lg);--shadow-xs: 0 1px 2px rgba(0,0,0,0.06);--shadow-sm: 0 1px 2px rgba(0,0,0,0.3),0 4px 14px -6px rgba(0,0,0,0.4);--shadow-md: 0 2px 6px rgba(0,0,0,0.3),0 18px 40px -18px rgba(0,0,0,0.65);--shadow-lg: 0 4px 12px rgba(0,0,0,0.35),0 40px 80px -30px rgba(0,0,0,0.75);--shadow-xl: 0 60px 120px -40px rgba(5,13,11,0.55);--shadow-glow: 0 0 0 1px rgba(184,224,74,0.35),0 18px 50px -12px rgba(139,178,46,0.55);--maxw-prose: 70ch;--maxw-content: 1120px;--maxw-wide: 1360px;--maxw-full: 1600px;--maxw-hdr: 1440px;--gutter: clamp(1rem,0.4rem + 3vw,3rem);--header-h: 112px;--header-stick: 112px;--ease-out: cubic-bezier(0.16,1,0.3,1);--ease-in-out: cubic-bezier(0.76,0,0.24,1);--ease-spring: cubic-bezier(0.34,1.56,0.64,1);--dur-fast: 160ms;--dur: 320ms;--dur-slow: 700ms}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-padding-top: calc(var(--header-stick) + 12px)}body{margin: 0;font-family: var(--font-sans);font-size: var(--fs-body);line-height: var(--lh-body);color: var(--text-body);background: var(--bg-page);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;font-feature-settings: "tnum" 0}h1,h2,h3,h4{font-family: var(--font-display);color: var(--text-strong);line-height: var(--lh-heading);letter-spacing: var(--ls-tight);font-weight: var(--fw-bold);margin: 0 0 0.5em;text-wrap: balance}h1{font-size: var(--fs-h1);letter-spacing: var(--ls-tighter);font-weight: var(--fw-black)}h2{font-size: var(--fs-h2);letter-spacing: var(--ls-tighter)}h3{font-size: var(--fs-h3);letter-spacing: -0.02em;line-height: 1.2}h4{font-size: var(--fs-h4)}h1 em,h2 em,h3 em{font-family: var(--font-serif);font-style: italic;font-weight: 400;letter-spacing: -0.005em;font-size: 1.08em;line-height: 0.9}p,li,dd,blockquote,figcaption,.faq > p{text-align: start;overflow-wrap: break-word;-webkit-hyphens: manual;hyphens: manual}p{margin: 0 0 1em}a{color: var(--text-link);text-decoration: none}a:hover{text-decoration: underline;text-underline-offset: 3px}img{max-width: 100%;height: auto}button{font: inherit}.ex-eyebrow{font-family: var(--font-tech);font-size: var(--fs-eyebrow);letter-spacing: var(--ls-eyebrow);text-transform: uppercase;font-weight: 700;color: var(--text-strong);display: inline-flex;align-items: center;align-self: flex-start;gap: 10px;padding: 7px 14px 7px 12px;border: 1px solid var(--border-strong);border-radius: var(--radius-pill);background: rgba(255,255,255,0.04);line-height: 1.2}.ex-eyebrow::before{content: "";width: 7px;height: 7px;border-radius: 50%;background: var(--brand);box-shadow: 0 0 0 4px rgba(139,178,46,0.18);flex: none}.ex-eyebrow.on-dark{color: var(--text-on-dark);border-color: rgba(255,255,255,0.18);background: rgba(255,255,255,0.05)}.ex-eyebrow.on-dark::before{background: var(--signal);box-shadow: 0 0 0 4px rgba(184,224,74,0.18)}.ex-serif{font-family: var(--font-serif);font-style: italic;font-weight: 400}.ex-mono{font-family: var(--font-mono);letter-spacing: var(--ls-mono)}.ex-prose{max-width: var(--maxw-prose);line-height: var(--lh-relaxed);color: var(--text-body)}.ex-prose p{margin-bottom: 1.1em}.ex-rule-gold{height: 3px;width: 48px;background: var(--brand);border: 0;border-radius: 3px;margin: 0}.ex-grad-text{background: linear-gradient(100deg,var(--green-500),var(--green-200));-webkit-background-clip: text;background-clip: text;color: transparent}::selection{background: var(--green-200);color: var(--ink-900)}:focus-visible{outline: 2px solid var(--brand);outline-offset: 3px;border-radius: 6px}:lang(ja) :is(h1,h2,h3) em,:lang(ko) :is(h1,h2,h3) em,:lang(ar) :is(h1,h2,h3) em,:lang(ru) :is(h1,h2,h3) em,:lang(ja) .ftr-statement em,:lang(ko) .ftr-statement em,:lang(ar) .ftr-statement em,:lang(ru) .ftr-statement em{font-family: inherit;font-style: normal;font-weight: inherit;font-size: 1em;line-height: inherit;letter-spacing: inherit}:lang(ja) :is(h1,h2,h3,h4),:lang(ko) :is(h1,h2,h3,h4),:lang(ar) :is(h1,h2,h3,h4){letter-spacing: 0}:lang(ja) :is(p,li,dd){line-break: strict}:lang(ko){word-break: keep-all;overflow-wrap: anywhere}:lang(ar) :is(p,li,dd,blockquote){line-height: 1.8}body{overflow-x: clip}.container{width: 100%;max-width: var(--maxw-wide);margin: 0 auto;padding: 0 var(--gutter)}.section{padding: var(--section-y) 0;position: relative}.section.pt-0{padding-top: 0}.section.pb-0{padding-bottom: 0}.section.tight{padding: 56px 0}.bg-sand{background: var(--surface-sand)}.bg-ink{background: var(--ink-900);color: var(--text-on-dark)}.bg-ink950{background: var(--ink-950);color: var(--text-on-dark)}.ic{display: inline-block;vertical-align: -0.18em;flex: none;fill: none;stroke: currentColor;stroke-width: 1.75;stroke-linecap: round;stroke-linejoin: round}.grid{display: grid;gap: 18px}.g2{grid-template-columns: repeat(2,minmax(0,1fr))}.g3{grid-template-columns: repeat(3,minmax(0,1fr))}.g4{grid-template-columns: repeat(4,minmax(0,1fr))}.gfill-230{grid-template-columns: repeat(auto-fill,minmax(min(230px,100%),1fr))}.gfill-250{grid-template-columns: repeat(auto-fill,minmax(min(250px,100%),1fr))}.gfill-280{grid-template-columns: repeat(auto-fill,minmax(min(280px,100%),1fr))}.gfit-290{grid-template-columns: repeat(auto-fit,minmax(min(290px,100%),1fr))}.gfit-300{grid-template-columns: repeat(auto-fit,minmax(min(300px,100%),1fr))}.gfit-280{grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr))}.gfit-270{grid-template-columns: repeat(auto-fit,minmax(min(270px,100%),1fr))}.gfit-230{grid-template-columns: repeat(auto-fit,minmax(min(230px,100%),1fr))}.gfit-210{grid-template-columns: repeat(auto-fit,minmax(min(210px,100%),1fr))}.sec-head{display: flex;flex-direction: column;gap: 18px;margin-bottom: 48px;max-width: 760px}.sec-head.tight{margin-bottom: 26px;gap: 14px}.sec-head h2{margin: 0;font-size: var(--fs-h2)}.sec-head.sm h2{font-size: clamp(1.6rem,1.2rem + 1.4vw,2.3rem)}.sec-head.md h2{font-size: clamp(1.8rem,1.3rem + 1.8vw,2.8rem)}.sec-head p{margin: 0;font-size: var(--fs-body-lg);line-height: 1.6;color: var(--text-body);max-width: 60ch}.sec-head.on-dark p{color: var(--text-on-dark-muted)}.sec-row{display: flex;align-items: flex-end;justify-content: space-between;gap: 28px 48px;flex-wrap: wrap;margin-bottom: 48px}.sec-row .sec-head{margin-bottom: 0}.sec-aside{margin: 0;max-width: 34ch;font-size: var(--fs-body);color: var(--text-muted);line-height: 1.6}.on-dark h2,.on-dark h3{color: #fff}h2 em,h1 em{color: var(--brand-strong)}.on-dark h2 em,.hx-dark h2 em,.ink-hero h1 em,.mh h1 em,.ctaband h2 em,.inkpanel h2 em,.gx-sec h2 em{color: var(--signal)}.split-2{display: grid;grid-template-columns: 1.1fr 1fr;gap: clamp(32px,5vw,88px);align-items: start}.split-21{display: grid;grid-template-columns: 1.25fr 1fr;gap: clamp(32px,5vw,80px);align-items: start}.split-13{display: grid;grid-template-columns: 1.3fr 1fr;gap: clamp(32px,5vw,80px);align-items: start}.split-faq{display: grid;grid-template-columns: 0.85fr 1.35fr;gap: clamp(32px,6vw,110px);align-items: start}.stack{display: flex;flex-direction: column;gap: 18px}.stack-sm{display: flex;flex-direction: column;gap: 12px}.stack > h2{margin: 0;font-size: clamp(1.9rem,1.2rem + 2vw,3rem)}.stack > p{margin: 0}.btn{position: relative;display: inline-flex;align-items: center;justify-content: center;gap: 9px;font-family: var(--font-sans);font-weight: 700;font-size: 15px;line-height: 1;letter-spacing: -0.005em;padding: 14px 22px;border-radius: var(--radius-pill);border: 1px solid transparent;cursor: pointer;text-decoration: none;white-space: nowrap;max-width: 100%;overflow: hidden;isolation: isolate;transition: background var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),translate var(--dur) var(--ease-out)}@media (hover: hover){.btn:hover{text-decoration: none}}.btn:active{transform: scale(0.97)}.btn .ic{transition: transform var(--dur) var(--ease-out)}@media (hover: hover){.btn:hover .ic:last-child{transform: translateX(3px)}}[dir="rtl"] .btn .ic:last-child:not(.ic-nomirror){transform: scaleX(-1)}@media (hover: hover){[dir="rtl"] .btn:hover .ic:last-child:not(.ic-nomirror){transform: translateX(-3px) scaleX(-1)}}@media (hover: hover){.btn:hover .ic-nomirror:last-child{transform: none}}.btn-apply{white-space: normal;text-align: left;line-height: 1.35}.btn-sm{padding: 10px 16px;font-size: 14px;gap: 6px}.btn-lg{padding: 18px 30px;font-size: 16px;gap: 10px}.btn-primary{background: var(--brand);color: #fff;box-shadow: 0 1px 0 rgba(255,255,255,0.35) inset,0 10px 30px -12px rgba(178,86,115,0.75)}@media (hover: hover){.btn-primary:hover{background: var(--green-600);box-shadow: var(--shadow-glow)}}.btn-ink{background: var(--surface-raised);color: #fff;border: 1px solid var(--border-strong)}@media (hover: hover){.btn-ink:hover{background: var(--ink-700)}}.btn-gold{background: var(--gold-500);color: var(--ink-900)}@media (hover: hover){.btn-gold:hover{background: var(--gold-400)}}.btn-outline{background: transparent;color: var(--text-strong);border-color: var(--border-strong)}@media (hover: hover){.btn-outline:hover{border-color: var(--signal);background: var(--green-600);color: #fff}}.btn-ghost{background: var(--surface-muted);color: var(--text-strong)}@media (hover: hover){.btn-ghost:hover{background: var(--stone-200)}}.btn-ghost.on-dark{background: rgba(255,255,255,0.06);color: #fff;border-color: rgba(255,255,255,0.18)}@media (hover: hover){.btn-ghost.on-dark:hover{background: rgba(255,255,255,0.14);border-color: rgba(255,255,255,0.3)}}.btn-white{background: #fff;color: var(--ink-900)}@media (hover: hover){.btn-white:hover{background: var(--green-50)}}.btn-glass{background: rgba(255,255,255,0.1);color: #fff;border-color: rgba(255,255,255,0.28);-webkit-backdrop-filter: blur(14px);backdrop-filter: blur(14px)}@media (hover: hover){.btn-glass:hover{background: rgba(255,255,255,0.2)}}.badge{display: inline-flex;align-items: center;gap: 6px;font-family: var(--font-sans);font-size: 13px;font-weight: 700;padding: 6px 12px;border-radius: var(--radius-pill);border: 1px solid;white-space: nowrap;line-height: 1.2}.badge-green{background: var(--brand-tint);color: var(--green-800);border-color: var(--brand-soft)}.badge-ink{background: rgba(255,255,255,0.06);color: var(--text-on-dark);border-color: rgba(255,255,255,0.14)}.badge-glass{background: rgba(255,255,255,0.08);color: #fff;border-color: rgba(255,255,255,0.22);-webkit-backdrop-filter: blur(10px);backdrop-filter: blur(10px)}.tag{display: inline-flex;align-items: center;gap: 7px;font-family: var(--font-sans);font-size: 14px;font-weight: 600;line-height: 1;padding: 11px 18px;border-radius: var(--radius-pill);cursor: pointer;background: transparent;color: var(--text-body);border: 1px solid var(--border-strong);transition: all var(--dur) var(--ease-out)}@media (hover: hover){.tag:hover{border-color: var(--signal);color: var(--text-strong);text-decoration: none}}.tag.is-active{background: var(--green-600);color: #fff;border-color: var(--signal)}.tagrow{display: flex;gap: 8px;flex-wrap: wrap}.hdr{position: fixed;top: 0;left: 0;right: 0;z-index: 60;transition: transform 520ms var(--ease-out)}.hdr-util,.hdr-bar{padding-inline: var(--gutter)}.hdr-util-in,.hdr-in{max-width: var(--maxw-hdr);margin: 0 auto}.hdr-util{position: relative;z-index: 2;height: 36px;font-size: 12.5px;line-height: 1;color: rgba(255,255,255,0.72);background: rgba(14,7,12,0.62);border-bottom: 1px solid rgba(255,255,255,0.07);-webkit-backdrop-filter: blur(14px);backdrop-filter: blur(14px);transition: height var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),background var(--dur) var(--ease-out)}.hdr-util-in{height: 100%;display: flex;align-items: center;justify-content: space-between;gap: 24px}.hdr-util-note{margin: 0;min-width: 0;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.hdr-util-links{display: flex;align-items: center;gap: 26px;flex: none}.hdr-util-links > a{color: rgba(255,255,255,0.78);white-space: nowrap;transition: color var(--dur-fast) var(--ease-out)}.hdr-util-links > a.hdr-util-login{color: #fff;font-weight: 700}@media (hover: hover){.hdr-util-links > a:hover{color: var(--signal);text-decoration: none}}.hdr-bar{position: relative;z-index: 1;height: 76px;background: rgba(23,12,20,0.34);border-bottom: 1px solid rgba(255,255,255,0.10);-webkit-backdrop-filter: blur(16px) saturate(1.4);backdrop-filter: blur(16px) saturate(1.4);transition: background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.hdr.is-solid .hdr-bar{background: rgba(29,15,26,0.97);border-bottom-color: rgba(255,255,255,0.09)}.hdr.is-solid .hdr-util{background: rgba(14,7,12,0.96)}.hdr-in{position: relative;height: 100%;display: flex;align-items: stretch;gap: 8px}.hdr-logo{display: flex;align-items: center;flex: none;margin-inline-end: clamp(14px,2.4vw,36px)}.hdr-logo img{height: 39px;width: auto;max-width: none;display: block;flex: none}@media (hover: hover){.hdr-logo:hover{text-decoration: none}}.hdr-logo .logo-dark{display: none}.hdr-logo .logo-white{display: block}.hdr nav{display: flex;align-items: stretch;gap: 2px;min-width: 0}.has-mega{display: flex;position: static}.hdr-link{position: relative;display: inline-flex;align-items: center;gap: 6px;padding: 0 12px;white-space: nowrap;font-family: var(--font-sans);font-size: 15px;font-weight: 600;color: rgba(255,255,255,0.88);transition: color var(--dur-fast) var(--ease-out)}.hdr-link::after{content: "";position: absolute;inset-inline: 12px;bottom: -1px;height: 3px;border-radius: 3px 3px 0 0;background: var(--signal);transform: scaleX(0);transition: transform var(--dur) var(--ease-out)}.hdr-link[aria-current],.has-mega:focus-within > .hdr-link,.has-mega.is-open > .hdr-link{color: var(--signal)}.hdr-link[aria-current]::after,.has-mega:focus-within > .hdr-link::after,.has-mega.is-open > .hdr-link::after{transform: scaleX(1)}@media (hover: hover){.hdr-link:hover,.has-mega:hover > .hdr-link{color: var(--signal);text-decoration: none}.hdr-link:hover::after,.has-mega:hover > .hdr-link::after{transform: scaleX(1)}}.hdr-link:focus-visible{outline: 2px solid var(--ring);outline-offset: -6px;border-radius: 8px}.hdr-link .ic{opacity: 0.7;transition: transform var(--dur) var(--ease-out)}.has-mega:focus-within > .hdr-link .ic,.has-mega.is-open > .hdr-link .ic{transform: rotate(180deg)}@media (hover: hover){.has-mega:hover > .hdr-link .ic{transform: rotate(180deg)}}.hdr-right{display: flex;align-items: center;gap: 10px;flex: none;margin-inline-start: auto}.hdr-search{display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;border: 0;border-radius: 8px;background: transparent;color: #fff;cursor: pointer;transition: background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media (hover: hover){.hdr-search:hover{background: rgba(186,112,134,0.16);color: var(--signal)}}.hdr .btn{border-radius: 8px;box-shadow: none}.hdr .btn-sm{min-height: 44px;padding: 0 20px;font-size: 14.5px}.hdr .hdr-partner{background: transparent;color: #fff;border: 1px solid rgba(255,255,255,0.3)}@media (hover: hover){.hdr .hdr-partner:hover{background: transparent;color: var(--signal);border-color: var(--signal)}}.hdr .btn-rfq{background: var(--brand);color: #fff}@media (hover: hover){.hdr .btn-rfq:hover{background: var(--green-600)}}.rfq-short,.hdr-drawer,.mega-tg,.menu-toggle{display: none}.mega{position: absolute;top: 100%;inset-inline-start: 0;z-index: 3;width: min(100%,1200px);background: #170c14;border: 1px solid var(--border);border-radius: 8px;box-shadow: 0 30px 60px -24px rgba(0,0,0,0.85);opacity: 0;visibility: hidden;transform: translateY(-6px);transform-origin: top left;transition: opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),visibility var(--dur);max-height: calc(100vh - 124px);overflow-y: auto;overscroll-behavior: contain}.mega-svc{width: min(100%,1200px)}.mega-dst{width: min(100%,1010px)}.has-mega:focus-within .mega,.has-mega.is-open .mega{opacity: 1;visibility: visible;transform: none}@media (hover: hover){.has-mega:hover .mega{opacity: 1;visibility: visible;transform: none}}.has-mega.is-dismissed .mega{opacity: 0;visibility: hidden}.mega-label{margin: 0 0 14px;font-family: var(--font-sans);font-size: 11px;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--signal);line-height: 1.4}[dir="rtl"] .mega-label{letter-spacing: 0}.mega-grid{display: grid;grid-template-columns: repeat(4,minmax(0,1fr))}.mega-sec{padding: 26px 26px 20px;border-inline-end: 1px solid var(--divider);min-width: 0}.mega-item{display: block;padding: 8px 0}.mega-item b{display: block;font-size: 15px;font-weight: 600;color: #fff;line-height: 1.3;transition: color var(--dur-fast) var(--ease-out)}.mega-item small{display: block;margin-top: 2px;font-size: 13px;color: var(--text-muted);line-height: 1.4}@media (hover: hover){.mega-item:hover{text-decoration: none}.mega-item:hover b{color: var(--signal)}}.mega-feat{padding: 26px;background: rgba(178,86,115,0.14);display: flex;flex-direction: column;align-items: flex-start;gap: 0;min-width: 0}.mega-feat-t{margin: 0 0 12px;font-size: 24px;font-weight: 700;color: #fff;line-height: 1.2;letter-spacing: -0.01em}.mega-feat-p{margin: 0 0 20px;font-size: 14px;line-height: 1.55;color: rgba(255,255,255,0.72)}.mega-feat .btn{margin-top: auto}.mega-foot{display: flex;align-items: center;justify-content: space-between;gap: 20px;padding: 15px 26px;border-top: 1px solid var(--divider);background: rgba(0,0,0,0.22);font-size: 13.5px;color: rgba(255,255,255,0.7)}.mega-foot p{margin: 0}.mega-foot p a{color: rgba(255,255,255,0.82)}@media (hover: hover){.mega-foot p a:hover{color: var(--signal)}}.mega-more{display: inline-flex;align-items: center;gap: 6px;font-weight: 700;color: var(--signal);white-space: nowrap}@media (hover: hover){.mega-more:hover{text-decoration: none}.mega-more:hover .ic{transform: translateX(3px)}}.mega-more .ic{transition: transform var(--dur) var(--ease-out)}[dir="rtl"] .mega-more .ic,[dir="rtl"] .mega-feat .ic{transform: scaleX(-1)}[dir="rtl"] .mega-more:hover .ic{transform: scaleX(-1) translateX(3px)}.mega-dm{display: grid;grid-template-columns: 250px minmax(0,1fr)}.dm-regions{padding: 22px 12px 18px;background: rgba(0,0,0,0.2);border-inline-end: 1px solid var(--divider)}.dm-regions .mega-label{padding-inline: 12px}.dm-tab{display: flex;align-items: center;justify-content: space-between;gap: 10px;padding: 10px 12px;border-radius: 8px;font-size: 14.5px;font-weight: 500;line-height: 1.3;color: rgba(255,255,255,0.8);transition: background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.dm-tab > span{min-width: 0;overflow-wrap: anywhere}.dm-tab .ic{flex: none;opacity: 0.5}[dir="rtl"] .dm-tab .ic{transform: scaleX(-1)}.dm-tab.is-active{background: rgba(186,112,134,0.13);color: var(--signal);font-weight: 600}.dm-tab.is-active .ic{opacity: 1}@media (hover: hover){.dm-tab:hover{text-decoration: none;background: rgba(255,255,255,0.06);color: #fff}.dm-tab.is-active:hover{background: rgba(186,112,134,0.13);color: var(--signal)}}.dm-tab:focus-visible{outline: 2px solid var(--ring);outline-offset: -2px}.dm-pane{display: none;grid-template-columns: minmax(0,1fr) 330px;min-height: 340px}.dm-pane.is-active{display: grid}.dm-list{padding: 26px 28px 22px;display: flex;flex-direction: column;align-items: flex-start;min-width: 0}.dm-head{color: var(--signal)}@media (hover: hover){.dm-head:hover{text-decoration: underline}}.dm-cities{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 11px 22px;width: 100%;margin-bottom: 18px}.dm-cities a{font-size: 15px;font-weight: 500;line-height: 1.3;color: rgba(255,255,255,0.78);overflow-wrap: anywhere;transition: color var(--dur-fast) var(--ease-out)}.dm-cities a.is-flagship{font-weight: 700;color: #fff}@media (hover: hover){.dm-cities a:hover{color: var(--signal);text-decoration: none}}.dm-list .mega-more{margin-top: auto}.dm-photo{position: relative;display: block;overflow: hidden;min-height: 240px;background: var(--ink-950)}.dm-photo img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;display: block}.dm-photo::after{content: "";position: absolute;inset: 0;background: linear-gradient(180deg,rgba(23,12,20,0) 38%,rgba(23,12,20,0.88))}.dm-cap{position: absolute;inset-inline: 20px;bottom: 18px;z-index: 1;display: flex;flex-direction: column;gap: 3px}.dm-cap b{font-size: 22px;font-weight: 700;color: #fff;line-height: 1.2}.dm-cap small{font-size: 13px;color: rgba(255,255,255,0.78);line-height: 1.35}@media (hover: hover){.dm-photo:hover{text-decoration: none}}.lang-switch{position: relative}.lang-switch > summary{list-style: none;cursor: pointer;display: inline-flex;align-items: center;gap: 6px;white-space: nowrap;font-family: var(--font-sans);font-weight: 700;font-size: 12.5px;color: #fff;border-radius: 6px;padding: 6px 4px}.lang-switch > summary::-webkit-details-marker{display: none}.lang-switch--drawer{margin-top: 2px}.lang-switch > summary:focus-visible{outline: 2px solid var(--ring);outline-offset: 2px}.lang-switch [data-lang-current]{display: inline-block;max-width: 8em;overflow: hidden;text-overflow: ellipsis;vertical-align: middle}.lang-menu{position: absolute;right: 0;top: calc(100% + 12px);z-index: 70;width: 190px;max-width: calc(100vw - 24px);background: var(--surface-raised);border: 1px solid var(--border);border-radius: 8px;box-shadow: var(--shadow-md);padding: 6px;display: grid;grid-template-columns: 1fr 1fr;gap: 2px}.lang-menu button{text-align: start;background: none;border: 0;cursor: pointer;padding: 9px 10px;border-radius: 6px;font-size: 13px;color: var(--text-body)}.lang-menu button.is-active{background: var(--brand-tint);color: var(--brand-strong)}@media (hover: hover){.lang-menu button:hover{background: var(--brand-tint);color: var(--brand-strong)}}[dir="rtl"] .lang-menu{right: auto;left: 0}.ic-caret{transition: transform .2s ease}.lang-switch[open] .ic-caret{transform: rotate(180deg)}.menu-toggle{align-items: center;gap: 8px;height: 44px;padding: 0 12px;border: 1px solid rgba(255,255,255,0.3);border-radius: 8px;cursor: pointer;background: transparent;color: #fff;font-family: var(--font-sans);font-size: 14px;font-weight: 700}.menu-toggle .mt-close,.menu-toggle .mt-ic-close{display: none}.menu-toggle[aria-expanded="true"] .mt-open,.menu-toggle[aria-expanded="true"] .mt-ic-open{display: none}.menu-toggle[aria-expanded="true"] .mt-close{display: inline}.menu-toggle[aria-expanded="true"] .mt-ic-close{display: inline-block}.menu-toggle:focus-visible{outline: 2px solid var(--ring);outline-offset: 2px}.mh{position: relative;padding: 10px;min-height: 100vh;min-height: clamp(700px,100svh,1080px);background: var(--bg-page)}.mh-frame{position: relative;min-height: calc(100vh - 20px);min-height: calc(clamp(700px,100svh,1080px) - 20px);display: flex;flex-direction: column;border-radius: var(--radius-2xl);overflow: hidden;background: var(--ink-950);isolation: isolate}.mh-media{position: absolute;inset: 0;z-index: -1}.mh-slide{position: absolute;inset: 0;opacity: 0;transition: opacity 1600ms var(--ease-in-out)}.mh-slide.is-active{opacity: 1}.mh-slide img,.mh-img{width: 100%;height: 100%;object-fit: cover;display: block;transform: scale(1.14);transform-origin: 60% 45%;transition: transform 9000ms cubic-bezier(0.2,0.6,0.2,1);will-change: transform}.mh-slide.is-active img{transform: scale(1.02)}.mh-shade{position: absolute;inset: 0;background: linear-gradient(180deg,rgba(14,7,12,0.6) 0%,rgba(14,7,12,0.2) 22%,rgba(14,7,12,0.42) 46%,rgba(14,7,12,0.94) 100%),linear-gradient(90deg,rgba(14,7,12,0.6) 0%,rgba(14,7,12,0.25) 50%,rgba(14,7,12,0) 80%),radial-gradient(90% 80% at 0% 100%,rgba(14,7,12,0.8),transparent 62%)}[dir="rtl"] .mh-shade{background: linear-gradient(180deg,rgba(14,7,12,0.6) 0%,rgba(14,7,12,0.2) 22%,rgba(14,7,12,0.42) 46%,rgba(14,7,12,0.94) 100%),linear-gradient(270deg,rgba(14,7,12,0.6) 0%,rgba(14,7,12,0.25) 50%,rgba(14,7,12,0) 80%),radial-gradient(90% 80% at 100% 100%,rgba(14,7,12,0.8),transparent 62%)}.mh-h,.mh-sub{text-shadow: 0 2px 28px rgba(14,7,12,0.45)}.mh-grain{position: absolute;inset: 0;opacity: 0.16;mix-blend-mode: overlay;pointer-events: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.mh-body { position: relative; flex: 1 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 40px;
  padding: calc(var(--header-h) + 40px) clamp(22px, 4.4vw, 72px) 40px; }
.mh-copy { display: flex; flex-direction: column; justify-content: flex-end; gap: 26px; max-width: 1000px; }
.mh-h { margin: 0; color: #fff; font-size: clamp(2.6rem, min(1rem + 5.2vw, 8.6vh + 0.6rem), 7rem); line-height: 0.94; letter-spacing: -0.04em;
  font-weight: 800; max-width: 15ch; text-wrap: balance; }
.mh-h em { letter-spacing: -0.03em; }
.mh-sub { margin: 0; color: rgba(255,255,255,0.8); font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.3rem); line-height: 1.55; max-width: 52ch; }
.hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.mh-card { width: 330px; padding: 24px; border-radius: var(--radius-lg); color: #fff;
  background: rgba(40,22,34,0.38); border: 1px solid rgba(255,255,255,0.16);
  -webkit-backdrop-filter: blur(22px) saturate(1.4); backdrop-filter: blur(22px) saturate(1.4); }
.mh-card-k { display: block; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--signal); margin-bottom: 14px; }
.mh-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.mh-card li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.4; color: rgba(255,255,255,0.72); }
.mh-card li .ic { margin-top: 1px; color: var(--signal); }
.mh-card li b { display: block; color: #fff; font-weight: 700; font-size: 15px; }
.mh-card-go { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 18px; padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.14); color: #fff; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 13px; }
@media (hover: hover) { .mh-card-go:hover { text-decoration: none; color: var(--signal); } }
.mh-foot { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: end; gap: 32px; padding: 0 clamp(22px, 4.4vw, 72px) 34px; color: #fff; }
.mh-count { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 13px; color: rgba(255,255,255,0.6); display: flex; align-items: baseline; gap: 6px; }
.mh-count b { font-family: var(--font-display); font-weight: 800; font-size: 34px; color: #fff; letter-spacing: -0.04em; line-height: 1; }
.mh-chapters { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.mh-ch { display: flex; flex-direction: column; gap: 10px; padding: 8px 0 0; border: 0; background: none; text-align: left; cursor: pointer;
  color: rgba(255,255,255,0.5); transition: color var(--dur) var(--ease-out); min-width: 0; min-height: 44px; }
.mh-ch.is-active { color: #fff; }
@media (hover: hover) { .mh-ch:hover { color: #fff; } }
.mh-ch-bar { display: block; height: 2px; background: rgba(255,255,255,0.22); border-radius: 2px; overflow: hidden; }
.mh-ch-bar i { display: block; height: 100%; background: var(--signal); transform: scaleX(0); transform-origin: left; }
[dir="rtl"] .mh-ch-bar i { transform-origin: right; }
.mh-ch.is-done .mh-ch-bar i { transform: scaleX(1); opacity: 0.5; }
.mh-ch.is-active .mh-ch-bar i { animation: mhFill 7s linear forwards; }
.mh.is-paused .mh-ch.is-active .mh-ch-bar i { animation-play-state: paused; }
.mh-ch-t { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mh-caption { margin: 0; max-width: 26ch; text-align: right; font-size: 13px; line-height: 1.4; color: rgba(255,255,255,0.62); }
.mh-caption::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--signal); margin-right: 8px; vertical-align: 1px; }
@keyframes mhFill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ---------- Trust bar ---------- */
.trustbar { padding: 34px 0 0; }
.hx-trust-card { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.stat { display: flex; flex-direction: column; gap: 6px; padding: 30px 24px; position: relative; min-width: 0; container-type: inline-size; }
.stat + .stat { border-left: 1px solid var(--border); }
.stat .v { font-family: var(--font-display); font-weight: 800; line-height: 1; letter-spacing: -0.04em;
  font-size: min(clamp(1.5rem, 0.9rem + 1.3vw, 2.4rem), 17cqi); color: var(--text-strong); white-space: nowrap; unicode-bidi: isolate; direction: ltr; }
[dir="rtl"] .stat .v { text-align: right; }
.stat .l { font-size: 14px; font-weight: 700; color: var(--text-strong); margin-top: 6px; }
.stat .s { font-size: 13px; color: var(--text-muted); line-height: 1.45; }

/* ---------- Cards ---------- */
.card { position: relative; background: var(--surface-card); border: 1px solid var(--border); border-radius: var(--radius-lg);
  transition: border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
.card.pad { padding: 22px 24px; }
.card.pad > :first-child { margin-top: 0; }
.card.pad > :last-child { margin-bottom: 0; }
.tile { width: 48px; height: 48px; border-radius: 14px; background: var(--brand-tint); color: var(--brand-strong);
  display: flex; align-items: center; justify-content: center; flex: none;
  transition: background var(--dur) var(--ease-out), color var(--dur) var(--ease-out), transform var(--dur) var(--ease-spring); }
.tile-sm { width: 40px; height: 40px; border-radius: 12px; }
.tile-dark { background: var(--brand-tint); color: var(--signal); }
.tile-glass { background: rgba(255,255,255,0.1); color: var(--signal); border: 1px solid rgba(255,255,255,0.14); }
.icard { padding: 30px 28px; display: flex; flex-direction: column; }
.icard .tile { margin-bottom: 22px; }
.icard h3 { margin: 0 0 10px; font-size: 20px; }
.icard p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--text-body); }
@media (hover: hover) { .icard:hover { border-color: var(--border-strong); box-shadow: var(--shadow-md); transform: translateY(-4px); } }
@media (hover: hover) { .icard:hover .tile { background: var(--green-600); color: #fff; transform: rotate(-6deg); } }

.scard { display: flex; flex-direction: column; gap: 12px; padding: 28px 26px 28px; overflow: hidden; color: inherit; min-height: 100%; }
@media (hover: hover) { .scard:hover { text-decoration: none; transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: var(--border-strong); } }
@media (hover: hover) { .scard:hover .tile { background: var(--green-600); color: #fff; } }
.scard .stag { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--brand-strong); margin-top: 8px; }
.scard h2, .scard h3 { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }
.scard p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--text-body); }
.more { margin-top: auto; padding-top: 14px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--text-strong); }
.more span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--surface-muted);
  transition: background var(--dur) var(--ease-out), color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
@media (hover: hover) { a:hover .more span { background: var(--brand); color: #fff; transform: translateX(3px); } }
.scard .gold-top { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--gold-500), var(--brand)); }
.scard-n { position: absolute; top: 24px; right: 24px; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; color: var(--text-faint); }

.rowcard { display: flex; gap: 16px; padding: 20px 22px; align-items: flex-start; }
.rowcard > * { min-width: 0; }
.rowcard h3 { margin: 0 0 4px; font-size: 17px; }
.rowcard p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--text-body); }
.rowcard b { display: block; font-size: 15.5px; font-weight: 700; color: var(--text-strong); margin-bottom: 3px; }
.rowcard small { font-size: 14px; color: var(--text-body); line-height: 1.55; }
@media (hover: hover) { a.rowcard:hover { text-decoration: none; border-color: var(--border-strong); box-shadow: var(--shadow-sm); } }

/* Destination tile: a tall photo card */
.dtile { position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4 / 5; display: block; background: var(--ink-800); isolation: isolate; }
.dtile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1200ms var(--ease-out); }
@media (hover: hover) { .dtile:hover img { transform: scale(1.07); } }
.dtile .ovr { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,7,12,0) 40%, rgba(14,7,12,0.85) 100%); }
.dtile-n { position: absolute; top: 18px; left: 20px; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; color: rgba(255,255,255,0.8);
  padding: 6px 10px; border-radius: 999px; background: rgba(14,7,12,0.3); border: 1px solid rgba(255,255,255,0.2);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.dtile-meta { position: absolute; left: 22px; bottom: 20px; right: 20px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.dtile-meta .rg { display: block; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--signal); margin-bottom: 6px; }
.dtile-meta .nm { display: block; font-size: clamp(1.5rem, 1.2rem + 0.8vw, 2rem); font-weight: 800; color: #fff; letter-spacing: -0.035em; line-height: 1; }
.dtile-meta .ic { flex: none; width: 46px; height: 46px; padding: 12px; border-radius: 50%; background: #fff; color: var(--ink-900);
  transform: scale(0.8) rotate(-45deg); opacity: 0; transition: transform var(--dur) var(--ease-spring), opacity var(--dur) var(--ease-out); }
@media (hover: hover) { .dtile:hover .dtile-meta .ic { transform: none; opacity: 1; } }

/* Content tile: photo + body */
.ctile { display: flex; flex-direction: column; overflow: hidden; color: inherit; }
@media (hover: hover) { .ctile:hover { text-decoration: none; transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: var(--border-strong); } }
.ctile-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ink-800); margin: 8px 8px 0; border-radius: calc(var(--radius-lg) - 6px); }
.ctile-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1000ms var(--ease-out); }
@media (hover: hover) { .ctile:hover .ctile-media img { transform: scale(1.06); } }
.ctile-media .ovr { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,7,12,0) 55%, rgba(14,7,12,0.45) 100%); }
.ctile-media .ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(120% 140% at 85% -20%, rgba(178,86,115,0.35), transparent 55%), linear-gradient(140deg, var(--ink-700), var(--ink-950)); }
.ctile-media .ph span { font-family: var(--font-serif); font-style: italic; font-size: 48px; color: rgba(247,233,239,0.4); }
.ctile-media .flagchip { position: absolute; top: 12px; left: 12px; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; background: rgba(255,255,255,0.92); color: var(--ink-900); padding: 6px 10px; border-radius: 999px; }
.ctile-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ctile-body h3 { margin: 0; font-size: 19px; letter-spacing: -0.02em; }
.ctile-body p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--text-body); }

/* Steps */
.step { position: relative; padding: 28px 26px; display: flex; flex-direction: column; }
.step .n { font-family: var(--font-display); font-weight: 800; font-size: 44px; letter-spacing: -0.05em; line-height: 1; color: transparent;
  -webkit-text-stroke: 1.2px var(--border-strong); }
.step .tile { margin: 18px 0; background: var(--brand-tint); color: var(--signal); }
.step h3 { margin: 0 0 8px; font-size: 19px; }
.step p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--text-body); }
@media (hover: hover) { .step:hover { border-color: var(--border-strong); box-shadow: var(--shadow-md); } }
@media (hover: hover) { .step:hover .n { color: var(--brand); -webkit-text-stroke-color: var(--brand); } }

/* Reviews (rendered only if REVIEWS is ever populated) */
.review { margin: 0; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.review .stars { display: flex; gap: 3px; color: var(--gold-500); }
.review .stars svg { fill: currentColor; }
.review blockquote { margin: 0; font-size: 16px; line-height: 1.6; color: var(--text-strong); }
.review figcaption { margin-top: auto; display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--divider); padding-top: 14px; }
.review .flag { font-size: 22px; }
.review .who b { display: block; font-size: 14px; color: var(--text-strong); }
.review .who small { font-size: 13px; color: var(--text-muted); }
.hx-reviews { align-items: stretch; }

.smallprint { margin: 16px 0 0; font-size: 13px; color: var(--text-faint); }

/* Dark panel + affiliations */
.inkpanel { position: relative; overflow: hidden; isolation: isolate; background: var(--ink-900); color: var(--text-on-dark);
  border-radius: var(--radius-2xl); padding: clamp(32px, 5vw, 72px); }
.inkpanel::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(60% 90% at 100% 0%, rgba(178,86,115,0.22), transparent 60%), radial-gradient(50% 70% at 0% 100%, rgba(137,46,78,0.22), transparent 60%); }
.inkpanel .grid { gap: 14px; }
.affil { display: flex; gap: 16px; align-items: center; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-md); padding: 18px; transition: background var(--dur), border-color var(--dur); }
@media (hover: hover) { .affil:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.2); } }
.affil .seal { flex: none; width: 72px; height: 56px; border-radius: 12px; background: #fff; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1px; color: var(--ink-900); overflow: hidden; padding: 6px; }
.affil .seal small { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.06em; }
.affil .seal .accred-logo { max-height: 42px; max-width: 60px; object-fit: contain; filter: brightness(0); }
.affil b { display: block; font-size: 15px; font-weight: 700; color: #fff; line-height: 1.3; margin-bottom: 3px; }
.affil small { font-size: 13px; color: var(--text-on-dark-muted); line-height: 1.45; }
.accred-logo { display: block; }

/* ---------- FAQ + answer block ---------- */
.faq-list { display: flex; flex-direction: column; border-top: 1px solid var(--border); }
.faq { border-bottom: 1px solid var(--border); }
.faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer;
  padding: 24px 0; font-size: clamp(1.05rem, 1rem + 0.3vw, 1.25rem); font-weight: 700; color: var(--text-strong); line-height: 1.35; letter-spacing: -0.015em; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .ic { flex: none; width: 40px; height: 40px; padding: 10px; border-radius: 50%; border: 1px solid var(--border-strong); color: var(--text-strong);
  transition: transform var(--dur) var(--ease-out), background var(--dur), color var(--dur), border-color var(--dur); }
@media (hover: hover) { .faq summary:hover .ic { border-color: var(--signal); } }
.faq[open] summary .ic { transform: rotate(45deg); background: var(--green-600); color: #fff; border-color: var(--signal); }
.faq > p { margin: 0; padding: 0 64px 26px 0; font-size: 16px; line-height: 1.7; color: var(--text-body); }

.answer-block { position: relative; max-width: none; margin: 0; padding: clamp(28px, 4vw, 52px); border-radius: var(--radius-xl);
  background: var(--surface-sand); border: 1px solid var(--border); display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 16px 56px; }
.answer-tag { position: absolute; top: -12px; inset-inline-start: clamp(28px, 4vw, 52px); line-height: 1.2; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px;
  letter-spacing: 0.1em; text-transform: uppercase; color: #fff; background: var(--brand); padding: 5px 11px; border-radius: 999px; }
.answer-block h2 { margin: 0; font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.9rem); line-height: 1.15; color: var(--text-strong); letter-spacing: -0.03em; }
.answer-block p { margin: 0; font-size: clamp(1.05rem, 1rem + 0.25vw, 1.2rem); line-height: 1.65; color: var(--text-strong); }
.updated-stamp { margin: 14px 0 0; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; letter-spacing: 0.04em; color: var(--text-muted); }
.sticky-aside { position: sticky; top: calc(var(--header-stick) + 32px); }

/* ---------- Homepage sections ---------- */
.m-answer { padding-top: clamp(56px, 6vw, 96px); padding-bottom: 0; }

.m-intro-head { display: flex; flex-direction: column; gap: 22px; max-width: 1100px; margin-bottom: clamp(40px, 5vw, 72px); }
.m-intro-head h2 { margin: 0; font-size: var(--fs-display); line-height: 0.98; }
.m-intro-grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 110px); align-items: start; }
.m-intro-copy { display: flex; flex-direction: column; gap: 18px; position: sticky; top: calc(var(--header-stick) + 32px); }
.m-intro-copy p { margin: 0; font-size: 17px; line-height: 1.7; color: var(--text-body); }
.m-intro-copy p.lead { font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem); line-height: 1.5; color: var(--text-strong); font-weight: 500; letter-spacing: -0.01em; }
.m-intro-link a { font-weight: 700; }
.m-points { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }
.m-point { display: grid; grid-template-columns: 44px 52px minmax(0, 1fr); gap: 18px; align-items: start; padding: 28px 0; border-bottom: 1px solid var(--border);
  transition: padding var(--dur) var(--ease-out); }
@media (hover: hover) { .m-point:hover { padding-left: 10px; } }
.m-point-n { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 13px; color: var(--text-faint); padding-top: 14px; }
.m-point-ic { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: var(--brand-tint); color: var(--brand-strong);
  transition: background var(--dur), color var(--dur); }
@media (hover: hover) { .m-point:hover .m-point-ic { background: var(--green-600); color: #fff; } }
.m-point h3 { margin: 4px 0 6px; font-size: 21px; }
.m-point p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--text-body); }
.serif-pull { font-family: var(--font-serif); font-style: italic; font-weight: 400; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); line-height: 1.2;
  color: var(--text-strong); margin: 8px 0 0; letter-spacing: -0.01em; }

/* Dark bands */
.hx-dark { background: var(--ink-900); color: var(--text-on-dark); overflow: hidden; isolation: isolate; margin: 0 10px; border-radius: var(--radius-2xl); }
.hx-dark::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(50% 60% at 90% 0%, rgba(178,86,115,0.2), transparent 65%), radial-gradient(40% 50% at 0% 100%, rgba(137,46,78,0.22), transparent 65%); }
.hx-dark p { color: var(--text-on-dark-muted); }
.hx-dark .card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.1); color: var(--text-on-dark); }
.hx-dark .card h3 { color: #fff; }
.hx-dark .card p { color: var(--text-on-dark-muted); }
@media (hover: hover) { .hx-dark .scard:hover, .hx-dark .step:hover { background: rgba(255,255,255,0.07); border-color: rgba(186,112,134,0.4); box-shadow: 0 30px 60px -30px rgba(0,0,0,0.6); } }
.hx-dark .tile { background: rgba(186,112,134,0.12); color: var(--signal); }
@media (hover: hover) { .hx-dark .scard:hover .tile { background: var(--green-600); color: #fff; } }
.hx-dark .stag { color: var(--signal); }
.hx-dark .more { color: #fff; }
.gx-more { margin: 14px 0 0; }
.gx-more .more { color: #fff; }
.hub-more { margin: 18px 0 0; max-width: 760px; }
.hx-dark .more span { background: rgba(255,255,255,0.1); }
.hx-dark .scard-n { color: rgba(255,255,255,0.35); }
.hx-services { gap: 14px; }

/* Destinations rail */
.m-dest .tagrow { margin-top: -20px; }
.m-rail { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(260px, 26vw, 400px); gap: 16px; overflow-x: auto;
  scroll-snap-type: x mandatory; padding: 36px max(var(--gutter), calc((100vw - var(--maxw-wide)) / 2 + var(--gutter))) 8px;
  scroll-padding-inline: max(var(--gutter), calc((100vw - var(--maxw-wide)) / 2 + var(--gutter))); scrollbar-width: none; overscroll-behavior-x: contain; }
.m-rail::-webkit-scrollbar { display: none; }
.m-rail > .dtile { scroll-snap-align: start; }
.m-rail > .dtile:nth-child(even) { margin-top: 48px; }
.m-rail [hidden] { display: none; }
.hx-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Why: bento */
.m-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.m-bento-feature { position: relative; grid-column: span 2; grid-row: span 2; border-radius: var(--radius-lg); overflow: hidden; min-height: 460px;
  display: flex; align-items: flex-end; isolation: isolate; color: #fff; background: var(--ink-900); }
.m-bento-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1400ms var(--ease-out); }
@media (hover: hover) { .m-bento-feature:hover img { transform: scale(1.05); } }
.m-bento-feature::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14,7,12,0.05) 20%, rgba(14,7,12,0.88) 100%); }
.m-bento-feature-copy { padding: clamp(26px, 3vw, 40px); display: flex; flex-direction: column; gap: 14px; max-width: 520px; }
.m-bento-feature-copy h3 { margin: 0; color: #fff; font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.6rem); letter-spacing: -0.04em; line-height: 1.02; }
.m-bento-feature-copy p { margin: 0; color: rgba(255,255,255,0.78); font-size: 16px; line-height: 1.6; }
.hx-bento { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.m-bento > .icard:last-child { grid-column: span 2; background: var(--ink-900); border-color: var(--ink-900); justify-content: flex-end; }
.m-bento > .icard:last-child h3 { color: #fff; font-size: clamp(1.4rem, 1.1rem + 0.9vw, 1.9rem); letter-spacing: -0.03em; }
.m-bento > .icard:last-child p { color: var(--text-on-dark-muted); max-width: 46ch; }
.m-bento > .icard:last-child .tile { background: var(--green-600); color: #fff; }

/* How it works: sticky intro + stacked steps */
.m-how { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 100px); align-items: start; }
.m-how-head { position: sticky; top: calc(var(--header-stick) + 40px); display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.m-how-head h2 { margin: 0; font-size: var(--fs-h2); color: #fff; }
.m-how-head p { margin: 0; font-size: var(--fs-body-lg); }
.hx-steps { display: flex; flex-direction: column; gap: 14px; position: relative; }
.hx-how .step { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 22px; align-items: start; padding: 30px; }
.hx-how .step .tile { margin: 0; }
.hx-how .step .n { -webkit-text-stroke-color: rgba(255,255,255,0.3); font-size: 52px; min-width: 64px; }
@media (hover: hover) { .hx-how .step:hover .n { color: var(--signal); -webkit-text-stroke-color: var(--signal); } }
.hx-how .step h3 { font-size: 22px; }

.m-affil { padding-bottom: 0; }
.m-intro, .m-why, .m-blog { background: var(--bg-page); }
.m-services { margin-top: 0; }
.mh-captions { display: none; }
.ftr-sites, .ftr-accred { min-width: 0; }
.hx-blog { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.m-faq h2 { margin: 0; font-size: clamp(2rem, 1.3rem + 2.2vw, 3.3rem); }
.m-faq .stack p { font-size: 16.5px; line-height: 1.65; color: var(--text-body); }
.hx { display: block; }
.hx-points { gap: 14px; }

/* ---------- Source-market globe ---------- */
.gx-sec { background: var(--ink-950); color: var(--text-on-dark); margin: 0 10px; border-radius: var(--radius-2xl); overflow: hidden; isolation: isolate; }
.gx-sec::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(40% 60% at 75% 50%, rgba(137,46,78,0.28), transparent 70%), radial-gradient(30% 40% at 10% 10%, rgba(178,86,115,0.16), transparent 70%); }
.gx-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.gx-copy { display: flex; flex-direction: column; gap: 28px; align-items: flex-start; }
.gx-copy .sec-head { margin: 0; }
.gx-copy .sec-head h2 { color: #fff; }
.gx-copy .sec-head p { color: var(--text-on-dark-muted); }
.gx-markets { display: flex; flex-wrap: wrap; gap: 8px; }
.gx-markets a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; font-size: 14px; font-weight: 600;
  color: var(--text-on-dark); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); transition: all var(--dur) var(--ease-out); }
@media (hover: hover) { .gx-markets a:hover { text-decoration: none; background: rgba(186,112,134,0.14); border-color: rgba(186,112,134,0.5); color: #fff; } }
.gx-stage { position: relative; aspect-ratio: 1; width: 100%; max-width: 640px; justify-self: center; cursor: grab; touch-action: pan-y; }
.gx-stage:active { cursor: grabbing; }
.gx-canvas { width: 100%; height: 100%; display: block; }
.gx-pin-label { position: absolute; left: var(--gx-px, 50%); top: var(--gx-py, 50%); transform: translate(14px, -50%); pointer-events: none; opacity: 0;
  font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #fff;
  background: var(--green-600); padding: 5px 10px; border-radius: 999px; white-space: nowrap; transition: opacity var(--dur); }
.gx-pin-on .gx-pin-label { opacity: 1; }

/* ---------- CTA band ---------- */
.cta-sec { padding-bottom: clamp(48px, 5vw, 80px); }
.ctaband { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--radius-2xl); background: var(--ink-900);
  padding: clamp(36px, 6vw, 88px); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr); align-items: end; gap: 40px; }
.ctaband::before { content: ""; position: absolute; inset: -40%; z-index: -1;
  background: conic-gradient(from 200deg at 70% 40%, rgba(178,86,115,0.0), rgba(178,86,115,0.35), rgba(137,46,78,0.35), rgba(178,86,115,0.0) 60%);
  filter: blur(60px); animation: ctaSpin 24s linear infinite; }
.ctaband .copy { display: flex; flex-direction: column; gap: 20px; }
.ctaband h2 { margin: 0; color: #fff; font-size: clamp(2.2rem, 1.2rem + 3.4vw, 4.6rem); line-height: 0.98; }
.ctaband .copy p { margin: 0; color: var(--text-on-dark-muted); font-size: var(--fs-body-lg); line-height: 1.6; max-width: 56ch; }
.ctaband .actions { display: flex; flex-direction: column; gap: 10px; }
.ctaband .email { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 13px; color: var(--text-on-dark-muted); text-align: center; margin-top: 6px; }
@media (hover: hover) { .ctaband .email:hover { color: var(--signal); } }
@keyframes ctaSpin { to { transform: rotate(360deg); } }

/* ---------- Site search ---------- */
.search-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: flex-start; justify-content: center; padding: clamp(70px, 14vh, 160px) 16px 16px; }
.search-modal[hidden] { display: none; }
.search-backdrop { position: absolute; inset: 0; background: rgba(14,7,12,0.6); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.search-panel { position: relative; width: 100%; max-width: 680px; background: var(--surface-raised); border-radius: var(--radius-xl); box-shadow: var(--shadow-xl);
  overflow: hidden; display: flex; flex-direction: column; max-height: 76vh; animation: popIn 320ms var(--ease-out); }
.search-bar { display: flex; align-items: center; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--border); }
.search-ic { color: var(--brand-strong); display: inline-flex; }
.search-input { flex: 1; border: 0; background: transparent; font: inherit; font-size: 19px; font-weight: 500; color: var(--text-strong); outline: none; min-width: 0; }
.search-close { border: 0; background: var(--surface-muted); color: var(--text-strong); cursor: pointer; display: inline-flex; padding: 8px; border-radius: 50%; }
.search-results { overflow-y: auto; }
.search-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 14px 20px; border-bottom: 1px solid var(--divider); text-decoration: none; }
.search-row:last-child { border-bottom: 0; }
.search-row.is-sel { background: var(--surface-sand); text-decoration: none; }
@media (hover: hover) { .search-row:hover { background: var(--surface-sand); text-decoration: none; } }
.search-row .sr-t { color: var(--text-strong); font-size: 15.5px; font-weight: 600; }
.search-row .sr-k { flex: none; color: var(--brand-strong); font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
.search-hint, .search-empty { margin: 0; padding: 18px 20px; font-size: 14px; color: var(--text-muted); }
@keyframes popIn { from { opacity: 0; transform: translateY(12px) scale(0.98); } to { opacity: 1; transform: none; } }

.skip-link { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap;
  inset-inline-start: 12px; top: 12px; z-index: 10000; padding: 12px 18px; border-radius: 999px; background: var(--ink-900); color: #fff; font-weight: 700; text-decoration: none; }
.skip-link:focus { width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; outline: 3px solid var(--brand); outline-offset: 2px; }
.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; }

/* ---------- Footer ---------- */
.ftr { position: relative; overflow: hidden; isolation: isolate; background: var(--ink-950); color: var(--text-on-dark-muted);
  padding-top: clamp(4px, 1vw, 16px); margin: 0 10px 10px; border-radius: var(--radius-2xl); }
.ftr::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(50% 40% at 100% 0%, rgba(178,86,115,0.16), transparent 70%), radial-gradient(40% 30% at 0% 60%, rgba(137,46,78,0.14), transparent 70%); }
.ftr a { color: var(--text-on-dark-muted); transition: color var(--dur-fast); }
@media (hover: hover) { .ftr a:hover { color: #fff; text-decoration: none; } }
.ftr .ftr-mail { display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; font-size: 16px; font-weight: 700; letter-spacing: -0.01em;
  color: #fff; border-bottom: 2px solid var(--signal); overflow-wrap: anywhere; }
@media (hover: hover) { .ftr .ftr-mail:hover { color: var(--signal); } }
.ftr-top { display: grid; grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr)); gap: 32px; padding: clamp(40px, 5vw, 64px) 0; border-bottom: 1px solid rgba(255,255,255,0.1); }
.ftr-brand { display: flex; flex-direction: column; gap: 18px; max-width: 300px; }
.ftr-brand img { height: 48px; width: auto; max-width: 200px; display: block; }
.ftr-brand p { margin: 0; font-size: 14.5px; line-height: 1.6; }
.ftr-col { display: flex; flex-direction: column; gap: 11px; min-width: 0; }
.ftr-h { display: block; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; margin-bottom: 6px; }
.ftr-col a { display: block; font-size: 14.5px; }
/* Footer columns are <details> so phones can fold them (visual audit, 2026-10-06). On wider
   screens they are always open and the summary is a plain heading. */
.ftr-col > summary { list-style: none; cursor: default; }
.ftr-col > summary::-webkit-details-marker { display: none; }
.ftr-col > summary::after { content: none; }
.ftr-band { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px 48px; padding: 32px 0; border-bottom: 1px solid rgba(255,255,255,0.1); align-items: start; }
.ftr-sites-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ftr-site { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.14);
  font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; transition: border-color var(--dur), background var(--dur); }
@media (hover: hover) { .ftr-site:hover { border-color: var(--signal); background: rgba(186,112,134,0.08); } }
.ftr-site small { font-size: 12px; opacity: 0.65; font-family: var(--font-sans); }
.ftr-accred-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 26px; margin-top: 12px; }
.ftr-accred-item { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; }
.ftr-accred-item .accred-logo { width: auto; height: 54px; max-width: 120px; object-fit: contain; opacity: 0.92; transition: opacity var(--dur); }
.ftr-accred-dest { padding-inline-start: 26px; border-inline-start: 1px solid rgba(255,255,255,0.14); }
.ftr-accred-dest .accred-logo { height: 46px; margin-bottom: 4px; }
@media (hover: hover) { .ftr-accred-item:hover .accred-logo { opacity: 1; } }
@media (max-width: 600px) { .ftr-accred-dest { padding-inline-start: 0; border-inline-start: 0; } }
.ftr-accred-item b { font-family: var(--font-tech); font-weight: 700; font-size: 14px; color: var(--text-on-dark); }
.ftr-accred-item small { font-family: var(--font-tech); font-weight: 600; font-variant-numeric: tabular-nums; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-on-dark-muted); }
.ftr-base { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; padding: 26px 0 30px;
  border-top: 1px solid rgba(255,255,255,0.1); font-size: 13px; }
.ftr-legal { display: inline-flex; flex-wrap: wrap; gap: 6px 18px; }
.ftr-social { display: inline-flex; gap: 8px; align-items: center; }
.ftr-social a { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.14);
  color: var(--text-on-dark); transition: background var(--dur), color var(--dur), border-color var(--dur); }
@media (hover: hover) { .ftr-social a:hover { background: var(--green-600); border-color: var(--signal); color: #fff; } }

/* ---------- WhatsApp dock + channel ---------- */
.wa-dock { position: fixed; inset-inline-end: calc(22px + env(safe-area-inset-right)); bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 50; width: 58px; height: 58px; border-radius: 50%; background: #25D366;
  display: flex; align-items: center; justify-content: center; color: #fff; box-shadow: 0 16px 34px -10px rgba(37,211,102,0.7);
  transition: transform var(--dur) var(--ease-spring); }
@media (hover: hover) { .wa-dock:hover { transform: scale(1.08); text-decoration: none; } }
.wa-channel { position: fixed; inset-inline-end: calc(22px + env(safe-area-inset-right)); bottom: calc(92px + env(safe-area-inset-bottom)); z-index: 51; direction: ltr; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
[dir="rtl"] .wa-channel-card { direction: rtl; }
.wa-channel-btn { width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.12); cursor: pointer; background: var(--ink-900); color: #25D366;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 12px 28px -10px rgba(14,7,12,0.6); transition: transform var(--dur) var(--ease-spring); }
@media (hover: hover) { .wa-channel-btn:hover { transform: translateY(-2px); } }
.wa-channel-btn:focus-visible, .wa-channel-x:focus-visible { outline: 3px solid var(--ring); outline-offset: 2px; }
.wa-channel-card { order: -1; position: relative; width: min(310px, calc(100vw - 32px)); background: var(--surface-raised); color: var(--text-strong);
  border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 20px; box-shadow: var(--shadow-lg); animation: popIn 260ms var(--ease-out); }
.wa-channel-card[hidden] { display: none; }
.wa-channel-title { margin: 0 30px 6px 0; font-weight: 800; font-size: 17px; letter-spacing: -0.02em; }
.wa-channel-text { margin: 0 0 14px; font-size: 14.5px; line-height: 1.5; color: var(--text-body); }
.wa-channel-go { width: 100%; justify-content: center; background: #25D366; color: #170c14; white-space: normal; text-align: center; font-size: 14px; line-height: 1.25; min-height: 48px; }
@media (hover: hover) { .wa-channel-go:hover { background: #1ebe5a; color: #170c14; } }
.wa-channel-x { position: absolute; top: 10px; inset-inline-end: 10px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--surface-muted);
  color: var(--text-strong); display: flex; align-items: center; justify-content: center; cursor: pointer; }
[dir="rtl"] .wa-channel-title { margin: 0 0 6px 30px; }

/* ---------- Forms / modal ---------- */
.field { display: flex; flex-direction: column; gap: 6px; }
.field label { font-size: 14px; font-weight: 700; color: var(--text-strong); display: block; }
.field label > input, .field label > select, .field label > textarea { margin-top: 8px; }
.field label .req { color: var(--brand-strong); margin-left: 3px; }
.field input, .field select, .field textarea { width: 100%; font-family: var(--font-sans); font-size: 16px; font-weight: 400; color: var(--text-strong);
  background: var(--surface-sand); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0 16px; height: 52px; outline: none;
  transition: border-color var(--dur), box-shadow var(--dur), background var(--dur); }
.field textarea { padding: 14px 16px; height: auto; min-height: 110px; line-height: 1.5; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { background: var(--surface-raised); border-color: var(--brand); box-shadow: 0 0 0 4px var(--ring); }
.field .hint { font-size: 13px; color: var(--text-muted); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid .full { grid-column: 1 / -1; }
.form-foot { grid-column: 1 / -1; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.form-foot small { font-size: 13px; color: var(--text-muted); }
dialog.modal { border: 0; border-radius: var(--radius-xl); width: min(600px, calc(100vw - 32px)); max-height: 90vh; padding: 0; background: var(--surface-raised); box-shadow: var(--shadow-xl); }
dialog.modal[open] { animation: popIn 320ms var(--ease-out); }
dialog.modal::backdrop { background: rgba(14,7,12,0.6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.modal-head { padding: 30px 32px 0; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.modal-head h2 { margin: 12px 0 0; font-size: 30px; }
.modal-close { flex: none; background: var(--surface-muted); border: 0; border-radius: 50%; width: 44px; height: 44px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; color: var(--text-strong); }
.modal-body { padding: 24px 32px 32px; }
.form-ok { display: none; flex-direction: column; gap: 14px; align-items: flex-start; }
.form-ok .check { width: 56px; height: 56px; border-radius: 50%; background: var(--brand); color: #fff; display: flex; align-items: center; justify-content: center; }
.form-ok p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--text-body); }
form.is-sent { display: none; }
form.is-sent + .form-ok { display: flex; }
/* Honeypot — hidden by clipping, never by a negative offset (RTL overflow). */
.hp-field { position: absolute !important; inset-inline-start: 0 !important; top: 0; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); clip-path: inset(50%); opacity: 0; pointer-events: none; }
.form-err { grid-column: 1 / -1; margin: 4px 0 0; font-size: 14px; color: var(--danger); }
.form-err a { color: inherit; text-decoration: underline; }

/* ---------- Page heroes ---------- */
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; letter-spacing: 0.06em;
  color: var(--text-muted); margin-bottom: 28px; }
.crumbs a { color: var(--text-muted); }
@media (hover: hover) { .crumbs a:hover { color: var(--text-strong); } }
.crumbs .here { color: var(--text-strong); }
.crumbs.on-dark { color: rgba(247,233,239,0.6); }
.crumbs.on-dark a { color: inherit; }
@media (hover: hover) { .crumbs.on-dark a:hover { color: #fff; } }
.crumbs.on-dark .rg { color: var(--signal); }
.crumbs.on-dark .here { color: #fff; }

.page-head { position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--header-h) + clamp(48px, 6vw, 96px)) 0 clamp(48px, 6vw, 88px) !important;
  background: var(--bg-page); border-bottom: 1px solid var(--border); }
.page-head::before { content: ""; position: absolute; z-index: -1; width: 900px; height: 900px; right: -260px; top: -420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(178,86,115,0.22), rgba(197,161,173,0.18) 45%, transparent 70%); filter: blur(10px); }
.page-head::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.5;
  background-image: linear-gradient(var(--divider) 1px, transparent 1px), linear-gradient(90deg, var(--divider) 1px, transparent 1px);
  background-size: 72px 72px; -webkit-mask: radial-gradient(70% 90% at 80% 0%, #000, transparent 70%); mask: radial-gradient(70% 90% at 80% 0%, #000, transparent 70%); }
.page-head .lede { max-width: 980px; display: flex; flex-direction: column; gap: 22px; }
.page-head h1 { margin: 0; font-size: var(--fs-h1); line-height: 0.98; }
.page-head .lede > p { margin: 0; font-size: var(--fs-body-lg); line-height: 1.6; color: var(--text-body); max-width: 64ch; }

/* Photo-plate variant (contact): a generated desk image under a pounamu wash. */
.page-head.fj-photo-head { background: var(--ink-900); border: 0; margin: 10px 10px 0; border-radius: var(--radius-2xl); }
.page-head.fj-photo-head::after { opacity: 1; mask: none; -webkit-mask: none;
  background: linear-gradient(90deg, rgba(14,7,12,0.92) 0%, rgba(14,7,12,0.72) 50%, rgba(14,7,12,0.35) 100%); }
.page-head.fj-photo-head.fj-bg-desk::before { inset: 0; width: auto; height: auto; right: 0; top: 0; border-radius: 0; filter: none;
  background: var(--ink-800); }
.page-head.fj-photo-head h1, .page-head.fj-photo-head .crumbs .here { color: #fff; }
.page-head.fj-photo-head .lede > p, .page-head.fj-photo-head .crumbs, .page-head.fj-photo-head .crumbs a { color: rgba(247,233,239,0.75); }
.page-head.fj-photo-head .ex-eyebrow { color: #fff; border-color: rgba(255,255,255,0.2); background: rgba(255,255,255,0.06); }
.page-head.fj-photo-head h1 em { color: var(--signal); }

.ink-hero { position: relative; overflow: hidden; isolation: isolate; background: var(--ink-900); color: var(--text-on-dark);
  margin: 10px 10px 0; border-radius: var(--radius-2xl); }
.ink-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(50% 80% at 95% 0%, rgba(178,86,115,0.3), transparent 65%), radial-gradient(40% 70% at 0% 100%, rgba(137,46,78,0.3), transparent 65%); }
.ink-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.6;
  background-image: linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 72px 72px; -webkit-mask: radial-gradient(80% 100% at 85% 0%, #000, transparent 75%); mask: radial-gradient(80% 100% at 85% 0%, #000, transparent 75%); }
.ink-hero .container { padding-top: calc(var(--header-h) + clamp(48px, 6vw, 96px)); padding-bottom: clamp(48px, 6vw, 96px); }
.ink-hero h1 { margin: 0 0 22px; color: #fff; font-size: var(--fs-h1); line-height: 0.98; max-width: 18ch; }
.ink-hero .sub { margin: 0; font-size: var(--fs-body-lg); line-height: 1.6; color: rgba(247,233,239,0.78); max-width: 62ch; }
.ink-hero .ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.ink-hero .id-row { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; flex-wrap: wrap; }
.ink-hero .bigflag { font-size: 48px; line-height: 1; }
.ink-hero .svc-tile { width: 60px; height: 60px; border-radius: 18px; background: rgba(186,112,134,0.12); border: 1px solid rgba(186,112,134,0.3);
  color: var(--signal); display: flex; align-items: center; justify-content: center; }
.band { position: relative; height: clamp(220px, 30vw, 420px); overflow: hidden; margin: 10px 10px 0; border-radius: var(--radius-2xl); background: var(--ink-800); }
.band-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

.city-hero { position: relative; min-height: min(78vh, 760px); display: flex; align-items: flex-end; overflow: hidden; isolation: isolate;
  margin: 10px 10px 0; border-radius: var(--radius-2xl); background: var(--ink-900); }
.city-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; animation: heroPush 14s var(--ease-out) both; }
.city-hero .ovr { position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(14,7,12,0.55) 0%, rgba(14,7,12,0.1) 35%, rgba(14,7,12,0.85) 100%), radial-gradient(80% 70% at 0% 100%, rgba(14,7,12,0.55), transparent 60%); }
.city-hero .container { position: relative; padding-top: calc(var(--header-h) + 60px); padding-bottom: clamp(40px, 5vw, 72px); }
.city-hero h1 { margin: 0 0 16px; color: #fff; font-size: var(--fs-h1); letter-spacing: -0.05em; line-height: 0.96; max-width: 16ch; }
.city-hero .tagline { margin: 0; font-family: var(--font-serif); font-style: italic; font-size: clamp(1.25rem, 1rem + 0.9vw, 1.8rem); color: rgba(255,255,255,0.88); max-width: 40ch; line-height: 1.3; }
@keyframes heroPush { from { transform: scale(1.12); } to { transform: scale(1); } }

/* Photo grids (destination "photo highlights", service "on the ground") */
.pgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pgrid-item { position: relative; margin: 0; overflow: hidden; border-radius: var(--radius-md); aspect-ratio: 4 / 3; background: var(--surface-muted); }
.pgrid-item:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.pgrid-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1000ms var(--ease-out); }
@media (hover: hover) { .pgrid-item:hover .pgrid-img, .svc-shot:hover .pgrid-img { transform: scale(1.05); } }
.svc-shots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.svc-shot { position: relative; overflow: hidden; border-radius: var(--radius-md); aspect-ratio: 3 / 4; background: var(--surface-muted); }
.svc-shot:first-child { aspect-ratio: 4 / 3; }
@media (max-width: 760px) {
  .ftr .ftr-top { grid-template-columns: 1fr; gap: 0; }
  .ftr-brand { margin-bottom: 20px; }
  .ftr-col { gap: 0; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .ftr-col > summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin: 0; cursor: pointer; }
  .ftr-col > summary::after { content: "+"; font-size: 18px; font-weight: 400; color: var(--signal); }
  .ftr-col[open] > summary::after { content: "−"; }
  .ftr-col[open] { padding-bottom: 12px; }
  .ftr .ftr-col > a { display: flex; align-items: center; min-height: 44px; padding: 0; }
}
@media (max-width: 760px) {
  .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pgrid-item:first-child { aspect-ratio: 4 / 3; grid-row: auto; }
  .svc-shots { grid-template-columns: 1fr; }
  .svc-shot, .svc-shot:first-child { aspect-ratio: 4 / 3; }
}

/* ---------- Facts / lists / panels ---------- */
.fact { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; }
.fact .ic { color: var(--brand-strong); margin-top: 2px; }
.fact .k { display: block; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.fact .v { font-size: 15px; font-weight: 700; color: var(--text-strong); line-height: 1.4; }
.prose-block { max-width: 820px; display: flex; flex-direction: column; gap: 18px; }
.prose-block > h2 { margin: 0; font-size: clamp(1.9rem, 1.2rem + 2vw, 3rem); }
.prose-block p { margin: 0; font-size: 17px; line-height: 1.72; color: var(--text-body); }
.prose-block p.lead { font-size: 19px; color: var(--text-strong); }
.lead { color: var(--text-strong); }
.numcard { display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; }
.numcard .n { flex: none; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; color: #fff; background: var(--brand); border-radius: 999px; padding: 4px 8px; margin-top: 1px; }
.numcard .t { font-size: 15.5px; font-weight: 600; color: var(--text-strong); line-height: 1.45; }
.listpanel { padding: 30px 28px; background: var(--surface-sand); }
.listpanel .ph { display: block; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--brand-strong); margin-bottom: 18px; }
.listpanel ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.listpanel li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--text-body); padding: 12px 0; border-top: 1px solid var(--border); }
.listpanel li:first-child { border-top: 0; padding-top: 0; }
.listpanel li .ic { flex: none; width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--brand); color: #fff; margin-top: 0; }
.listpanel li .n { flex: none; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; color: var(--brand-strong); margin-top: 3px; }
.tipcard { background: var(--accent-gold-soft); border: 1px solid rgba(161,111,107,0.35); border-radius: var(--radius-md); padding: 18px 22px; display: flex; gap: 14px; align-items: flex-start; }
.tipcard .ic { color: var(--gold-600); margin-top: 3px; flex: none; }
.tipcard p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--text-body); }
.notes-band { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--radius-xl); background: var(--ink-900); padding: clamp(28px, 4vw, 56px); }
.notes-band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 100% at 100% 0%, rgba(178,86,115,0.24), transparent 60%); }
.notes-band .copy { max-width: 820px; display: flex; flex-direction: column; gap: 14px; }
.notes-band .copy > p { margin: 0; font-size: 17.5px; line-height: 1.7; color: var(--text-on-dark); }
.notes-band h2, .notes-band h3 { color: #fff; }
.notes-band .ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 10px; }

/* ---------- Tables, chips, lists ---------- */
.tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface-raised); }
.season-table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 680px; }
.season-table thead tr { background: var(--ink-900); }
.season-table th { text-align: left; padding: 16px 20px; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--signal); white-space: nowrap; }
.season-table tbody tr + tr { border-top: 1px solid var(--divider); }
@media (hover: hover) { .season-table tbody tr:hover { background: var(--surface-sand); } }
.season-table td { padding: 16px 20px; color: var(--text-body); line-height: 1.5; }
.season-table td:first-child { font-weight: 700; color: var(--text-strong); white-space: nowrap; }
.season-table td.mn { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 13px; color: var(--brand-strong); white-space: nowrap; }
.season-table .td-k { display: none; }
/* Phones: each season becomes a card; the column name rides inside its cell
   (real text, so it is translated with the page). */
@media (max-width: 600px) {
  .tablewrap { overflow: visible; border: 0; background: none; }
  .season-table { min-width: 0; display: block; }
  .season-table thead { display: none; }
  .season-table tbody { display: grid; gap: 12px; }
  .season-table tbody tr { display: block; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface-raised); padding: 6px 0; }
  .season-table tbody tr + tr { border-top: 1px solid var(--border); }
  .season-table td { display: block; padding: 8px 18px; }
  .season-table td:first-child { font-size: 17px; white-space: normal; padding-top: 12px; }
  .season-table td.mn { white-space: normal; }
  .season-table .td-k { display: block; margin-bottom: 2px; font-family: var(--font-tech); font-weight: 700; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }
}

.month-strip { display: flex; flex-wrap: wrap; gap: 8px; }
.month-chip { display: inline-flex; align-items: baseline; gap: 8px; padding: 10px 16px; border: 1px solid var(--border-strong); border-radius: 999px;
  background: var(--surface-raised); color: inherit; transition: all var(--dur) var(--ease-out); }
@media (hover: hover) { .month-chip:hover { text-decoration: none; background: var(--ink-900); border-color: var(--ink-900); } }
@media (hover: hover) { .month-chip:hover .mc-kanji, .month-chip:hover .mc-name { color: #fff; } }
.month-chip .mc-kanji { font-weight: 800; font-size: 16px; color: var(--text-strong); letter-spacing: -0.02em; }
.month-chip .mc-name { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }

.ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ticks li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.6; color: var(--text-body); }
.ticks li svg { flex: 0 0 auto; margin-top: 4px; color: var(--brand-strong); }
.spec { margin: 16px 0 0; display: grid; grid-template-columns: auto 1fr; gap: 12px 22px; }
.spec dt { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); padding-top: 4px; }
.spec dd { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--text-strong); }

.daylist { list-style: none; margin: 8px 0 0; padding: 0 0 0 36px; position: relative; display: grid; gap: 30px; }
.daylist::before { content: ""; position: absolute; left: 9px; top: 10px; bottom: 10px; width: 2px; border-radius: 2px;
  background: linear-gradient(180deg, var(--brand), var(--ocean-500)); opacity: 0.4; }
.daylist > li { position: relative; }
.daylist > li::before { content: ""; position: absolute; left: -36px; top: 5px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--surface-raised); border: 2px solid var(--brand); box-shadow: 0 0 0 5px var(--brand-tint); }
.daylist > li p { margin: 8px 0 0; font-size: 16px; line-height: 1.7; color: var(--text-body); }
.day-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.day-n { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; background: var(--brand); border-radius: 999px; padding: 4px 9px; }
.day-where { font-size: 19px; font-weight: 800; color: var(--text-strong); letter-spacing: -0.02em; }

.cats-panel [data-cat-panel] { display: none; }
.cats-panel [data-cat-panel].is-active { display: grid; }

.cgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.cgrid a { display: flex; align-items: center; gap: 12px; background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: 14px 16px; transition: all var(--dur) var(--ease-out); color: inherit; }
@media (hover: hover) { .cgrid a:hover { border-color: var(--ink-900); box-shadow: var(--shadow-sm); transform: translateY(-2px); text-decoration: none; } }
.cgrid .flag { font-size: 22px; flex: none; }
.cgrid .nm { font-size: 15px; font-weight: 700; color: var(--text-strong); line-height: 1.3; }
.cgrid .dot { margin-left: auto; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--brand); }
.local-block { max-width: 820px; display: flex; flex-direction: column; gap: 14px; }
.local-block .lk { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--brand-strong); }
.local-block h2 { margin: 0; font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem); }
.local-block p { margin: 0; font-size: 17px; line-height: 1.75; color: var(--text-body); }

/* ---------- Contact / payments ---------- */
.office-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.office { padding: 26px 24px 22px; display: flex; flex-direction: column; gap: 12px; height: 100%; }
.office .top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.office .flag { font-size: 24px; }
.office h3 { margin: 0; font-size: 18px; }
.office .co { font-size: 13px; color: var(--text-muted); }
.office address { margin: 0; font-style: normal; font-size: 14.5px; line-height: 1.6; color: var(--text-body); }
.office .regs { margin-top: auto; display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--divider); padding-top: 12px; }
.office .regs div { display: flex; justify-content: space-between; gap: 10px; }
.office .regs span:first-child { font-size: 12.5px; color: var(--text-muted); }
.office .regs span:last-child { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12.5px; color: var(--text-strong); text-align: end; overflow-wrap: anywhere; }
.office.is-hq { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-tint); }
.office .hq-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; background: var(--brand); color: #fff;
  font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.offices-note { margin: 12px 0 0; max-width: 680px; font-size: 16px; line-height: 1.7; color: var(--text-body); }
.market-card { padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.contracting-band { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: clamp(16px, 3vw, 36px);
  align-items: center; background: var(--ink-900); border-radius: var(--radius-xl); padding: clamp(24px, 3.4vw, 44px); }
.contracting-band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 120% at 100% 0%, rgba(178,86,115,0.22), transparent 60%); }
.contracting-band > .tile { width: 56px; height: 56px; border-radius: 18px; background: rgba(186,112,134,0.12); color: var(--signal); }
.contracting-band h2 { margin: 10px 0 8px; color: #fff; font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); }
.contracting-band p { margin: 0; max-width: 66ch; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,0.72); }
.contracting-band p strong { color: #fff; }
.contracting-band .cb-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.contracting-band .cb-label { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.channel { display: flex; gap: 16px; padding: 20px 22px; }
.channel .k { display: block; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.channel .v { display: block; font-size: 17px; font-weight: 800; color: var(--text-strong); margin-bottom: 4px; letter-spacing: -0.01em; overflow-wrap: anywhere; }
.channel .s { font-size: 14px; line-height: 1.5; color: var(--text-body); }
@media (hover: hover) { a.channel:hover { text-decoration: none; border-color: var(--ink-900); } }
.emergency { position: relative; overflow: hidden; background: var(--ink-900); border-radius: var(--radius-lg); padding: 22px 24px; }
.emergency .k { display: block; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--signal); margin-bottom: 8px; }
.emergency p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--text-on-dark-muted); }
.bank { overflow: hidden; }
.bank-head { display: flex; align-items: center; gap: 10px; padding: 16px 20px; background: var(--ink-900); }
.bank-head .flag { font-size: 22px; }
.bank-head .cur { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 15px; color: #fff; letter-spacing: 0.04em; }
.bank-head .loc { margin-left: auto; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--signal); }
.bank-body { padding: 16px 20px 18px; display: flex; flex-direction: column; gap: 8px; }
.bank-body > div { display: flex; justify-content: space-between; gap: 12px; }
.bank-body > div + div { border-top: 1px solid var(--divider); padding-top: 8px; }
.bank-body .k { font-size: 13px; color: var(--text-muted); white-space: nowrap; }
.bank-body .v { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12.5px; color: var(--text-strong); text-align: right; word-break: break-all; }
.bank-body .v.nm { font-weight: 700; }
.copy-btn { margin-top: 8px; align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; background: var(--surface-muted); border: 0; border-radius: 999px;
  padding: 9px 15px; font-size: 13px; font-weight: 700; color: var(--text-strong); cursor: pointer; min-height: 40px; }
@media (hover: hover) { .copy-btn:hover { background: var(--ink-900); color: #fff; } }
.copy-btn.is-copied { background: var(--brand); color: #fff; }
.bank-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 4px; padding: 10px 12px; border-radius: 10px; background: var(--accent-gold-soft);
  border: 1px solid rgba(161,111,107,0.35); font-size: 12.5px; line-height: 1.5; font-weight: 600; color: var(--gold-text); }
.bank-note svg { flex: none; margin-top: 1px; color: var(--gold-text); }
.notice { background: var(--surface-sand); border: 1px solid var(--border); border-radius: var(--radius-xl); padding: clamp(24px, 3.4vw, 40px);
  display: flex; gap: 20px; align-items: flex-start; flex-wrap: wrap; }
.notice .seal { flex: none; width: 52px; height: 52px; border-radius: 16px; background: var(--ink-900); color: var(--signal); display: flex; align-items: center; justify-content: center; }
.notice h2, .notice h3 { margin: 0 0 8px; font-size: 20px; }
.notice p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--text-body); flex: 1; min-width: 260px; }
.notice > div:last-child { flex: 1; min-width: 260px; }

/* ---------- Blog ---------- */
.post-meta { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.post-body { max-width: 760px; margin: 0; font-size: 18px; line-height: 1.75; color: var(--text-body); }
.post-body .answer-lead { padding: 22px 26px; border-radius: var(--radius-lg); background: var(--surface-sand); border: 1px solid var(--border); color: var(--text-strong); font-size: 1.06em; }
.bpost .post-body > p.answer-lead:first-child::first-letter { float: none; font: inherit; padding: 0; color: inherit; }
.post-body h2 { margin: 1.8em 0 0.5em; font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.3rem); }
.post-body h3 { margin: 1.5em 0 0.45em; font-size: 1.3rem; }
.post-dests { max-width: 760px; margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--border); display: grid; gap: 12px; }
.post-body p { margin: 0 0 1.15em; }
.post-body ul { margin: 0 0 1.2em; padding-left: 1.3em; }
.post-body li { margin-bottom: 0.5em; }
.post-body li::marker { color: var(--brand-strong); }
.post-body strong { color: var(--text-strong); }
.post-body blockquote { margin: 0 0 1.2em; padding: 18px 24px; border-left: 3px solid var(--brand); background: var(--surface-sand); border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.post-body blockquote p { margin: 0; font-family: var(--font-serif); font-style: italic; font-size: 21px; color: var(--text-strong); }
.post-body .ex-fig { margin: 2.2em 0; }
.post-body .ex-fig img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); }
.post-body .ex-fig figcaption { margin-top: 12px; font-size: 14px; color: var(--text-muted); text-align: left; padding-left: 14px; border-left: 2px solid var(--brand); line-height: 1.5; }
.post-body .ex-fig--feature img { box-shadow: var(--shadow-lg); }
@media (min-width: 980px) { .post-body .ex-fig--feature { width: calc(100% + 160px); margin-left: -80px; margin-right: -80px; } }
.post-body .ex-fig--framed { padding: 12px; background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.post-body .ex-fig--framed img { border-radius: calc(var(--radius-lg) - 6px); }
.post-body .ex-fig--polaroid { width: max-content; max-width: 100%; margin: 2.6em auto; background: #fff; padding: 12px 12px 6px; box-shadow: var(--shadow-lg);
  transform: rotate(-1.4deg); border-radius: 6px; }
.post-body .ex-fig--polaroid img { border-radius: 3px; }
.post-body .ex-fig--polaroid figcaption { border: 0; padding: 10px 4px 6px; font-family: var(--font-serif); font-style: italic; font-size: 16px; color: var(--stone-600); text-align: center; }
.post-body .ex-fig--float img { box-shadow: var(--shadow-md); }
@media (min-width: 760px) { .post-body .ex-fig--float { float: right; width: 45%; margin: 0.4em 0 1em 2em; } }
[dir="rtl"] .post-body .ex-fig--float { float: left; margin: 0.4em 2em 1em 0; }
.post-body .ex-fig--postcard img { border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.post-body .ex-fig--postcard figcaption { margin-top: 0; padding: 14px 18px; border: 1px solid var(--border); border-top: 0; border-radius: 0 0 var(--radius-lg) var(--radius-lg); background: var(--surface-sand); }

.dispatch-grid { display: grid; grid-template-columns: 1fr 1.3fr 0.9fr; gap: 18px; align-items: stretch; }
.dispatch-col { display: flex; flex-direction: column; gap: 18px; }
.dispatch-col > .dispatch-card:last-child { flex: 1; }
.dispatch-col > .dispatch-card:last-child .shot { flex: 1; aspect-ratio: auto; min-height: 190px; }
.dispatch-card { position: relative; background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column;
  text-decoration: none; color: inherit; transition: box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), border-color var(--dur); }
@media (hover: hover) { .dispatch-card:hover { text-decoration: none; box-shadow: var(--shadow-md); transform: translateY(-4px); border-color: var(--border-strong); } }
.dispatch-card .shot { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface-muted); }
.dispatch-card .shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1000ms var(--ease-out); }
@media (hover: hover) { .dispatch-card:hover .shot img { transform: scale(1.05); } }
.dispatch-pills { position: absolute; top: 14px; inset-inline: 14px; display: flex; gap: 8px; flex-wrap: wrap; z-index: 2; }
.dispatch-pill { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; padding: 6px 11px; border-radius: 999px;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); line-height: 1.3; }
.dispatch-pill-cat { background: rgba(14,7,12,0.55); color: #fff; border: 1px solid rgba(255,255,255,0.25); }
.dispatch-pill-date { background: rgba(255,255,255,0.9); color: var(--ink-900); }
.dispatch-card .body { padding: 22px 22px 22px; flex: 1; display: flex; flex-direction: column; }
.dispatch-no { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; color: var(--text-faint); margin-bottom: 10px; display: block; }
.dispatch-card h2, .dispatch-card h3 { font-size: 20px; line-height: 1.2; letter-spacing: -0.025em; margin: 0; font-weight: 800; }
.dispatch-card .meta { margin-top: auto; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dispatch-card .read-time { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; color: var(--text-muted); }
.dispatch-arrow { width: 42px; height: 42px; border-radius: 50%; background: var(--surface-muted); display: flex; align-items: center; justify-content: center; flex: none;
  transition: background var(--dur), transform var(--dur) var(--ease-out); }
.dispatch-arrow svg { width: 16px; height: 16px; }
@media (hover: hover) { .dispatch-card:hover .dispatch-arrow { background: var(--brand); transform: rotate(45deg); } }
[dir="rtl"] .dispatch-arrow svg { transform: scaleX(-1); }
.dispatch-card.notch-tr::after, .dispatch-card.notch-bl::after { content: none; }
.dispatch-card.featured { background: var(--ink-900); border-color: var(--ink-900); color: var(--text-on-dark); grid-row: span 2; }
.dispatch-card.featured .shot { aspect-ratio: auto; flex: 1; min-height: 300px; }
.dispatch-card.featured .shot::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,7,12,0) 30%, rgba(14,7,12,0.94) 92%); }
.dispatch-card.featured .body { position: absolute; inset-inline: 0; bottom: 0; padding: 32px; }
.dispatch-card.featured .dispatch-pills { position: static; margin-bottom: 18px; }
.dispatch-card.featured .dispatch-no { color: var(--text-on-dark-muted); }
.dispatch-card.featured h2 { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.5rem); line-height: 1.02; color: #fff; letter-spacing: -0.04em; }
.dispatch-card.featured .read-time { color: var(--text-on-dark-muted); }
.dispatch-card.featured .dispatch-arrow { background: var(--brand); color: #fff; }
.dispatch-rail { background: var(--surface-sand); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 28px 26px; display: flex; flex-direction: column; gap: 18px; }
.dispatch-rail p { font-family: var(--font-serif); font-style: italic; font-size: 21px; line-height: 1.35; color: var(--text-strong); margin: 0; }
.dispatch-rail .socials { display: flex; gap: 8px; margin-top: 4px; flex-wrap: wrap; }
.dispatch-rail .soc { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; color: var(--text-strong); flex: none; }
@media (hover: hover) { .dispatch-rail .soc:hover { background: var(--ink-900); color: #fff; } }
.dispatch-rail .soc svg { width: 16px; height: 16px; }
.dispatch-rail .btn { align-self: flex-start; }
.dispatch-archive-head { display: flex; align-items: center; gap: 18px; margin: 64px 0 28px; }
.dispatch-archive-head .line { flex: 1; height: 1px; background: var(--border); }
.dispatch-archive-head span { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-muted); white-space: nowrap; }
.dispatch-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.blog-related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bpost-cat { display: inline-block; margin-bottom: 16px; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  color: #fff; background: var(--brand); padding: 7px 13px; border-radius: 999px; }
/* Editorial post layout (2026-10-05): light header, large serif title, cover photo, narrow centred column. */
.bpost-head { padding: calc(var(--header-h) + clamp(36px, 5vw, 72px)) 0 clamp(22px, 3vw, 34px); }
.bpost-head .crumbs { margin-bottom: 26px; }
.bpost-title { margin: 0 0 20px; max-width: 22ch; font-family: var(--font-display); font-weight: 800; font-style: normal; font-size: clamp(2.2rem, 1.3rem + 3.2vw, 4.4rem);
  line-height: 0.98; letter-spacing: -0.02em; color: var(--text-strong); text-align: start; hyphens: manual; text-wrap: balance; text-transform: uppercase; }
.bpost-meta { margin: 0; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 13px; letter-spacing: 0.04em; color: var(--text-muted); }
.bpost-meta.bpost-updated { margin-top: 4px; }
/* Blog FAQ section (heading + Q/A paragraphs): the BlogPosting speakable target. */
.ex-prose .post-faq { scroll-margin-top: var(--header-h); }
.bpost-cover { margin: 0 auto; }
.bpost-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; border-radius: var(--radius-2xl); background: var(--ink-800); }
.bpost .post-body { max-width: 680px; margin: 0 auto; }
.ctile--dest .ctile-media { aspect-ratio: 1 / 1; }
.bpost .post-body > p:first-child::first-letter { float: left; font-family: var(--font-serif); font-size: 4.2em; line-height: 0.8; padding: 8px 14px 0 0; color: var(--brand-strong); }
[dir="rtl"] .bpost .post-body > p:first-child::first-letter { float: right; padding: 8px 0 0 14px; }

/* In-prose links: underlined, not colour-only (WCAG 1.4.1). Scoped by shape. */
main p > a:not(.btn):not(.tag):not(.badge):not(.month-chip),
main li > a:not(.btn):not(.tag):not(.badge):not(.month-chip),
main blockquote a:not(.btn), .faq > p a {
  text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
@media (hover: hover) { main p > a:not(.btn):not(.tag):not(.badge):not(.month-chip):hover, main li > a:not(.btn):not(.tag):not(.badge):not(.month-chip):hover, main blockquote a:not(.btn):hover, .faq > p a:hover { text-decoration-color: currentColor; } }

/* ---------- Legal, sitemap, careers, 404 ---------- */
.legal-prose { max-width: 780px; font-size: 17px; line-height: 1.75; }
.legal-prose a { color: var(--text-link); text-decoration: underline; text-underline-offset: 2px; }
.legal-prose h2 { margin-top: 1.8em; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.legal-updated { font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 12px; letter-spacing: 0.04em; color: var(--text-muted); }
.legal-prevails { margin-top: 2em; padding-top: 18px; border-top: 1px solid var(--divider); font-size: 14px; color: var(--text-muted); font-style: italic; }
.sitemap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-bottom: 8px; }
.sitemap-sec { display: flex; flex-direction: column; gap: 12px; }
.sitemap-sec h2 { margin: 0 0 4px; font-size: 1.4rem; }
.sitemap-wide { margin-top: 40px; }
.sitemap-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.sitemap-links a { font-size: 15px; color: var(--text-body); }
@media (hover: hover) { .sitemap-links a:hover { color: var(--text-strong); } }
.sitemap-grid .sitemap-links { flex-direction: column; gap: 10px; }
.sitemap-region { margin: 16px 0; }
.sitemap-rg { display: block; font-family: var(--font-tech); font-weight: 700; font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--brand-strong); margin-bottom: 8px; }
.nf { min-height: 72vh; display: flex; align-items: center; padding-top: calc(var(--header-h) + 40px); }
.nf .code { font-family: var(--font-display); font-weight: 800; font-size: clamp(6rem, 3rem + 14vw, 14rem); letter-spacing: -0.07em; line-height: 0.85;
  color: transparent; -webkit-text-stroke: 1.5px var(--border-strong); }

/* Hotel marquee (renders only when HOTEL_PARTNERS is populated) */
.hotels-sec { overflow: hidden; }
.hmarquee { overflow: hidden; position: relative; padding: 6px 0; -webkit-mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.hmarquee + .hmarquee { margin-top: 14px; }
.hmarquee-track { display: flex; gap: 14px; width: max-content; animation: hscroll 80s linear infinite; }
.hmarquee--rev .hmarquee-track { animation-direction: reverse; }
@media (hover: hover) { .hmarquee:hover .hmarquee-track { animation-play-state: paused; } }
@keyframes hscroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.hbrand-card { flex: 0 0 auto; width: 230px; background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 18px; display: flex; flex-direction: column; gap: 10px; margin: 0; }
.hbrand-logo { height: 42px; display: flex; align-items: center; justify-content: center; }
.hbrand-logo img { max-height: 40px; max-width: 175px; object-fit: contain; }
.hbrand-wm { display: none; font-weight: 800; font-size: 15px; color: var(--text-strong); text-align: center; text-transform: uppercase; }
.hbrand-desc { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--text-muted); text-align: center; }

/* ---------- Motion layer ----------
   Everything below is switched on by site.js adding .fx-on to <html>, which it
   does only with JS running, IntersectionObserver available and
   prefers-reduced-motion unset. With no JS — or for a crawler — nothing is
   hidden: the resting state of every rule is the normal, visible page. Reveals
   use `translate`/`filter`, never `transform`, so they never fight the hover
   lifts and the tilt, which own `transform`. */
.fx-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 70; transform: scaleX(0); transform-origin: left center; pointer-events: none;
  background: linear-gradient(90deg, var(--brand), var(--signal), var(--ocean-500)); }
[dir="rtl"] .fx-progress { transform-origin: right center; }
html.fx-on .fx-rv { opacity: 0; translate: 0 20px;
  transition: opacity 600ms var(--ease-out), translate 700ms var(--ease-out);
  transition-delay: calc(var(--fx-i, 0) * 60ms); }
html.fx-on .fx-rv.fx-in { opacity: 1; translate: 0 0; }
html.fx-on .fx-mask { clip-path: inset(0 0 100% 0); transition: clip-path 1300ms var(--ease-out); transition-delay: calc(var(--fx-i, 0) * 90ms); }
html.fx-on .fx-mask.fx-in { clip-path: inset(0 0 0 0); }
html.fx-on .mh-frame { transform: scale(calc(1 - var(--mh-p, 0) * 0.05)); transform-origin: 50% 0; }
html.fx-on .mh-body, html.fx-on .mh-foot { opacity: calc(1 - var(--mh-p, 0) * 1.6); translate: 0 calc(var(--mh-p, 0) * -60px); }
html.fx-on .mh-copy > * { animation: heroIn 700ms var(--ease-out) both; }
html.fx-on .mh-copy > :nth-child(2) { animation-delay: 80ms; }
html.fx-on .mh-copy > :nth-child(3) { animation-delay: 160ms; }
html.fx-on .mh-copy > :nth-child(4) { animation-delay: 240ms; }
html.fx-on .mh-card { animation: heroIn 700ms 300ms var(--ease-out) both; }
html.fx-on .mh-foot { animation: heroFade 900ms 400ms var(--ease-out) backwards; }
@keyframes heroIn { from { opacity: 0; translate: 0 24px; } to { opacity: 1; translate: 0 0; } }
/* The H1 is the LCP element: it slides but is never hidden. */
@keyframes heroRise { from { translate: 0 16px; } to { translate: 0 0; } }
@keyframes heroOut { from { opacity: 1; translate: 0 0; } to { opacity: 0; translate: 0 -10px; } }
html.fx-on .mh-copy.is-out > :is(.ex-eyebrow, .mh-h, .mh-sub) { animation: heroOut 240ms var(--ease-out) forwards; }
html.fx-on .mh-copy > .mh-h, html.fx-on .bpost-title { animation: heroRise 700ms var(--ease-out) both; }
@keyframes heroFade { from { opacity: 0; } to { opacity: 1; } }
html.fx-on [data-tilt] { transform: perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0px)); transform-style: preserve-3d; transition: transform 400ms var(--ease-out); }
@media (hover: hover) { html.fx-on [data-tilt]:hover { will-change: transform; } }
@media (hover: hover) { html.fx-on [data-tilt]:hover { --ty: -6px; } }
html.fx-on [data-tilt]::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity var(--dur);
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,0.18), transparent 45%); }
@media (hover: hover) { html.fx-on [data-tilt]:hover::after { opacity: 1; } }
html.fx-on .fx-glow { --gx: 50%; --gy: 50%; }
html.fx-on .fx-glow::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity 600ms;
  background: radial-gradient(600px circle at var(--gx) var(--gy), rgba(186,112,134,0.12), transparent 40%); }
@media (hover: hover) { html.fx-on .fx-glow:hover::after { opacity: 1; } }
html.fx-on [data-parallax] { translate: 0 var(--py, 0px); scale: 1.12; }
html.fx-on .m-rail { cursor: grab; }
html.fx-on .m-rail.is-drag { cursor: grabbing; scroll-snap-type: none; }
html.fx-on .m-rail.is-drag a { pointer-events: none; }
html.fx-on .stat .v { background: linear-gradient(90deg, var(--text-strong) 50%, var(--brand) 50%); background-size: 200% 100%; background-position: 100% 0;
  -webkit-background-clip: text; background-clip: text; color: transparent; transition: background-position 1400ms var(--ease-out); }
html.fx-on .stat.fx-in .v { background-position: 0 0; }
/* Jitter/Wix-inspired motion (2026-10-05). All of it lives under html.fx-on, so the resting page is
   unchanged without JS or with reduced motion. clip-path and translate only, never transform. */
html.fx-on .mh-media { animation: fxHeroMask 1100ms var(--ease-out) both; }
html.fx-on .mh-img { scale: 1.1; translate: 0 calc(var(--mh-p, 0) * 70px); }
html.fx-on .city-hero > img { clip-path: inset(0 0 0 0 round 0); animation: heroPush 14s var(--ease-out) both, fxHeroMask 1100ms var(--ease-out) both;
  scale: 1.12; translate: 0 var(--cy, 0px); }
@keyframes fxHeroMask { from { clip-path: inset(6% 8% 6% 8% round 32px); } to { clip-path: inset(0 0 0 0 round 0); } }
html.fx-on .fx-tile .ctile-media, html.fx-on .fx-tile.dtile { clip-path: inset(8% round 24px); transition: clip-path 800ms var(--ease-out);
  transition-delay: calc(var(--fx-i, 0) * 60ms); }
html.fx-on .fx-tile .ctile-media img, html.fx-on .fx-tile.dtile img { scale: 1.08; transition: scale 1000ms var(--ease-out), transform 1000ms var(--ease-out);
  transition-delay: calc(var(--fx-i, 0) * 60ms); }
html.fx-on .fx-tile.fx-in .ctile-media, html.fx-on .fx-tile.dtile.fx-in { clip-path: inset(0 0 0 0 round 0); }
html.fx-on .fx-tile.dtile.fx-in { clip-path: inset(0 0 0 0 round var(--radius-lg)); }
html.fx-on .fx-tile.fx-in .ctile-media img, html.fx-on .fx-tile.dtile.fx-in img { scale: 1; }
html.fx-on .fx-blk { clip-path: inset(3% 2% round 32px); transition: clip-path 800ms var(--ease-out); }
html.fx-on .fx-blk.fx-in { clip-path: inset(0 0 0 0 round var(--radius-2xl)); }
html.fx-on .fx-wipe img { clip-path: inset(0 100% 0 0); transition: clip-path 900ms var(--ease-out); }
html.fx-on[dir="rtl"] .fx-wipe img { clip-path: inset(0 0 0 100%); }
html.fx-on .fx-wipe.fx-in img, html.fx-on[dir="rtl"] .fx-wipe.fx-in img { clip-path: inset(0 0 0 0); }
html.fx-on .bpost-head .crumbs, html.fx-on .bpost-head .bpost-cat, html.fx-on .bpost-meta { animation: heroIn 700ms var(--ease-out) both; }
html.fx-on .bpost-meta { animation-delay: 160ms; }
@supports not (translate: 0) { html.fx-on .fx-rv { opacity: 1; filter: none; } }
/* Icon hover motion (2026-10-12), after Its Hover (itshover.com, MIT): an icon inside a link,
   button or card makes one short, purposeful move when that control is hovered. The icons are
   <use> references into the sprite, so the whole glyph moves (no per-path animation), and it uses
   the individual translate/rotate/scale properties so the existing .btn arrow transform still
   applies. Keyed on data-i (the Lucide name icon() stamps), mouse only, and under html.fx-on, so
   reduced motion and no-JS get the still icon. */
@keyframes icWiggle { 0%, 100% { rotate: 0deg; } 25% { rotate: -12deg; } 55% { rotate: 9deg; } 80% { rotate: -4deg; } }
@keyframes icPop { 0%, 100% { scale: 1; } 45% { scale: 1.22; } 70% { scale: 0.94; } }
@keyframes icHop { 0%, 100% { translate: 0 0; } 40% { translate: 0 -3px; } 70% { translate: 0 1px; } }
@keyframes icFly { 0%, 100% { translate: 0 0; } 45% { translate: 3px -3px; } 46% { translate: -3px 3px; opacity: 0; } 60% { opacity: 1; } }
@keyframes icTilt { 0%, 100% { rotate: 0deg; } 50% { rotate: -14deg; } }
@keyframes icTurn { 0% { rotate: 0deg; } 100% { rotate: 360deg; } }
@media (hover: hover) {
  html.fx-on :is(a, button, summary, .card):hover .ic:is([data-i="message-circle"], [data-i="mail"], [data-i="megaphone"], [data-i="headset"], [data-i="phone"], [data-i="bell"]) { animation: icWiggle 520ms var(--ease-out); }
  html.fx-on :is(a, button, summary, .card):hover .ic:is([data-i="check"], [data-i="circle-check"], [data-i="badge-check"], [data-i="shield-check"], [data-i="calendar-check"], [data-i="copy"], [data-i="star"], [data-i="lightbulb"], [data-i="handshake"], [data-i="badge-percent"]) { animation: icPop 460ms var(--ease-out); }
  html.fx-on :is(a, button, summary, .card):hover .ic:is([data-i="map-pin"], [data-i="map"], [data-i="route"], [data-i="bus-front"], [data-i="hotel"], [data-i="bed-double"], [data-i="building"], [data-i="calendar-days"], [data-i="calendar-range"], [data-i="utensils"], [data-i="briefcase"]) { animation: icHop 440ms var(--ease-out); }
  html.fx-on :is(a, button, summary, .card):hover .ic:is([data-i="plane"], [data-i="plane-takeoff"], [data-i="send"]) { animation: icFly 620ms var(--ease-out); }
  html.fx-on :is(a, button, summary, .card):hover .ic:is([data-i="search"], [data-i="log-in"]) { animation: icTilt 420ms var(--ease-out); }
  html.fx-on :is(a, button, summary, .card):hover .ic:is([data-i="globe"], [data-i="rss"]) { animation: icTurn 700ms var(--ease-out); }
  html.fx-on[dir="rtl"] :is(a, button, summary, .card):hover .ic:is([data-i="plane"], [data-i="plane-takeoff"], [data-i="send"]):not(.ic-nomirror) { animation-name: icHop; }
}

@media (prefers-reduced-motion: reduce) {
  /* Tiered (WCAG 2.3.3): movement goes, but state changes still fade quickly
     instead of jumping. .01ms (not 0) keeps transitionend firing. */
  *, *::before, *::after { animation: none !important; transition-duration: 0.01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
  .mega, .mh-slide, dialog.modal[open], .search-panel { transition: opacity 150ms ease !important; transform: none !important; }
  .btn, .hdr-link, a, .tag, .card { transition: color 150ms, background-color 150ms, border-color 150ms !important; }
  .mh-slide img { transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1399px) {
  .hdr .hdr-partner { display: none; }
  .hdr-link { padding: 0 11px; font-size: 14.5px; }
  .hdr-link::after { inset-inline: 11px; }
  :lang(ru) .hdr-link { padding: 0 8px; font-size: 13.5px; } /* the longest labels of any locale ("Туры с фиксированными датами") */
  :lang(ru) .hdr-link::after { inset-inline: 8px; }
  :lang(ru) .hdr-search { display: none; }
}
@media (max-width: 1519px) { :lang(fr) .hdr .hdr-partner, :lang(ru) .hdr .hdr-partner { display: none; } }
@media (max-width: 1280px) { :lang(fr) .hdr-link { padding: 0 8px; } :lang(fr) .hdr-link::after { inset-inline: 8px; } }
@media (max-width: 1180px) {
  :root { --header-h: 72px; --header-stick: 64px; }
  .hdr-util { display: none; }
  .hdr-bar { height: 64px; }
  .hdr-in { position: static; align-items: center; }
  .hdr-logo { margin-inline-end: 0; }
  .hdr-right { gap: 8px; }
  .hdr-search { display: none; }
  .hdr .btn-sm { padding: 0 16px; }
  .rfq-long { display: none; }
  .rfq-short { display: inline; }
  .menu-toggle { display: inline-flex; }
  .hdr nav { display: none; }
  html:has(.hdr.is-menu-open) { overflow: hidden; }
  .hdr.is-menu-open nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; position: absolute; top: 100%; left: 0; right: 0;
    padding: 4px var(--gutter) 28px; background: var(--surface-raised); border-top: 1px solid var(--border);
    height: calc(100vh - 64px); height: calc(100dvh - 64px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; animation: popIn 240ms var(--ease-out); }
  .hdr.is-menu-open .hdr-link { display: flex; width: 100%; min-height: 56px; padding: 14px 0; font-size: 18px; font-weight: 600; color: #fff;
    justify-content: space-between; border-bottom: 1px solid var(--divider); }
  .hdr.is-menu-open .hdr-link::after { content: none; }
  .hdr.is-menu-open .hdr-link[aria-current], .hdr.is-menu-open .has-mega.is-open > .hdr-link { color: var(--signal); }
  .hdr.is-menu-open .has-mega { display: block; position: relative; }
  .hdr.is-menu-open .has-mega > .hdr-link .ic { display: none; }
  .hdr.is-menu-open .mega-tg { display: flex; align-items: center; justify-content: center; position: absolute; top: 0; inset-inline-end: 0;
    width: 56px; height: 56px; border: 0; background: none; color: rgba(255,255,255,0.8); cursor: pointer; }
  .hdr.is-menu-open .mega-tg .ic { transition: transform 200ms ease; }
  .hdr.is-menu-open .has-mega.is-open .mega-tg .ic { transform: rotate(180deg); }
  .hdr.is-menu-open .has-mega:not(.is-open) .mega { display: none; }
  .hdr.is-menu-open .mega { position: static; width: auto; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; border-radius: 0;
    max-height: none; overflow: visible; background: transparent; }
  .hdr.is-menu-open .mega-grid, .hdr.is-menu-open .mega-dm { display: block; }
  .hdr.is-menu-open .mega-sec { padding: 6px 0 4px; border: 0; }
  .hdr.is-menu-open .mega-label { margin: 10px 0 2px; padding-inline: 14px; color: rgba(255,255,255,0.5); }
  .hdr.is-menu-open .mega-item, .hdr.is-menu-open .dm-tab { display: flex; align-items: center; min-height: 44px; padding: 10px 14px; font-size: 16px; font-weight: 500; color: rgba(255,255,255,0.82); }
  .hdr.is-menu-open .mega-item b { font-weight: 500; color: inherit; font-size: 16px; }
  .hdr.is-menu-open .mega-item small, .hdr.is-menu-open .mega-feat, .hdr.is-menu-open .mega-foot,
  .hdr.is-menu-open .dm-pane, .hdr.is-menu-open .dm-regions .mega-label, .hdr.is-menu-open .dm-tab .ic { display: none; }
  .hdr.is-menu-open .dm-regions { padding: 4px 0 8px; background: none; border: 0; }
  .hdr.is-menu-open .dm-tab, .hdr.is-menu-open .dm-tab.is-active { background: none; color: rgba(255,255,255,0.82); font-weight: 500; border-radius: 0; }
  .hdr-drawer { display: block; padding-top: 22px; }
  .hdr-drawer .hdr-menu-cta { display: flex; width: 100%; min-height: 50px; white-space: normal; }
  .hdr-drawer-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
  .hdr-drawer-row .btn { min-height: 50px; padding: 0 10px; white-space: normal; text-align: center; border-radius: 8px; }
  .hdr-drawer .hdr-menu-cta, .hdr-drawer .btn-primary { border-radius: 8px; }
  .hdr-drawer-wa { display: flex; align-items: center; gap: 8px; min-height: 48px; margin-top: 8px; color: rgba(255,255,255,0.78); font-size: 15px; }
  .hdr-drawer .lang-switch > summary { min-height: 44px; font-size: 14px; color: rgba(255,255,255,0.88); }
  .hdr-drawer .lang-menu { position: static; width: 100%; max-width: none; margin-top: 6px; grid-template-columns: repeat(3, minmax(0, 1fr)); box-shadow: none; }
}
@media (max-width: 1100px) {
  .mh-card { display: none; }
  .mh-body { grid-template-columns: 1fr; }
  .g4, .hx-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hx-trust-card { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stat:nth-child(4) { border-left: 0; }
  .stat:nth-child(n+4) { border-top: 1px solid var(--border); }
  .office-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ftr-top { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ftr-brand { grid-column: 1 / -1; max-width: 520px; }
  .m-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m-bento-feature { min-height: 380px; }
  .dispatch-grid { grid-template-columns: 1fr; }
  .dispatch-card.featured { grid-row: auto; min-height: 460px; }
  .dispatch-archive-grid, .blog-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .g3, .g2, .hx-blog { grid-template-columns: 1fr; }
  .split-2, .split-21, .split-13, .split-faq, .contact-grid, .m-intro-grid, .m-how, .gx-grid, .ftr-band { grid-template-columns: 1fr; }
  .sticky-aside, .m-intro-copy, .m-how-head { position: static; }
  .answer-block { grid-template-columns: 1fr; }
  .ctaband { grid-template-columns: 1fr; align-items: stretch; }
  .form-grid { grid-template-columns: 1fr; }
  .sitemap-grid { grid-template-columns: 1fr; }
  .contracting-band { grid-template-columns: 1fr; }
  .contracting-band .cb-cta { align-items: stretch; }
  .gx-stage { max-width: 480px; }
}
@media (max-width: 760px) {
  .mh { padding: 6px; min-height: 100vh; min-height: max(640px, 100svh); }
  .mh-frame { min-height: calc(100vh - 12px); min-height: calc(max(640px, 100svh) - 12px); }
  .mh-frame, .hx-dark, .gx-sec, .ink-hero, .city-hero, .page-head.fj-photo-head, .ftr, .ctaband, .inkpanel { border-radius: var(--radius-xl); }
  .hx-dark, .gx-sec { margin: 0 6px; }
  .ink-hero, .city-hero, .page-head.fj-photo-head, .band { margin: 6px 6px 0; }
  .ftr { margin: 0 6px 6px; }
  .mh-body { padding-bottom: 28px; }
  .mh-foot { grid-template-columns: auto minmax(0, 1fr); gap: 18px; padding-bottom: 24px; }
  .mh-ch-t, .mh-caption { display: none; }
  .mh-chapters { gap: 6px; }
  .hero-ctas .btn, .ink-hero .ctas .btn, .notes-band .ctas .btn, .sec-row .btn { width: 100%; }
  .sec-row { flex-direction: column; align-items: flex-start; }
  .hx-trust-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat { padding: 22px 16px; }
  .stat + .stat { border-left: 0; }
  .stat:nth-child(even) { border-left: 1px solid var(--border); }
  .stat:nth-child(n+3) { border-top: 1px solid var(--border); }
  .g4, .hx-services, .m-bento, .office-grid, .dispatch-archive-grid, .blog-related,
  .gfill-230, .gfill-250, .gfill-280, .gfit-290, .gfit-300, .gfit-280, .gfit-270, .gfit-230, .gfit-210, .cgrid { grid-template-columns: 1fr; }
  .m-bento-feature { grid-column: auto; grid-row: auto; min-height: 420px; }
  .m-bento > .icard:last-child { grid-column: auto; }
  .m-rail { grid-auto-columns: 78vw; }
  .m-rail > .dtile:nth-child(even) { margin-top: 0; }
  .m-point { grid-template-columns: 52px minmax(0, 1fr); }
  .m-point-n { display: none; }
  .hx-how .step { grid-template-columns: 1fr; gap: 14px; }
  .faq > p { padding-right: 0; }
  .ftr-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ftr-base { flex-direction: column; align-items: flex-start; }
  .wa-dock { right: 16px; bottom: 16px; }
  .wa-channel { right: 16px; bottom: 84px; }
  dialog.modal { width: calc(100vw - 20px); max-height: 88vh; overflow-y: auto; }
  .modal-head { padding: 22px 20px 0; }
  .modal-head h2 { font-size: 24px; }
  .modal-body { padding: 18px 20px 24px; }
  .post-body { font-size: 17px; }
  .spec { grid-template-columns: 1fr; gap: 2px 0; }
  .spec dd { margin-bottom: 10px; }
}
@media (max-width: 560px) {
  .btn { white-space: normal; text-align: center; }
  .hdr .btn-sm { padding: 0 14px; }
  .badge { white-space: normal; max-width: 100%; }
  .hdr-logo img { height: 32px; }
  .hdr-in { gap: 8px; }
  .ftr-top { grid-template-columns: 1fr; }
  .answer-block { padding: 30px 20px 24px; }
  .inkpanel, .notes-band, .notice, .ctaband { padding: 28px 20px; }
}

/* Short desktop/laptop screens (1280x720, 1366x768, 1440x900, 1536x864):
   scale the hero headline and spacing to the viewport height so the whole
   hero (headline, buttons, chapter bar) fits on one screen. */
@media (min-width: 761px) and (max-height: 940px) {
  .mh-h { font-size: clamp(2.4rem, min(1rem + 5.2vw, 6.4vh + 0.5rem), 7rem); }
  .mh-copy { gap: 18px; }
  .mh-body { padding-top: calc(var(--header-h) + 22px); padding-bottom: 24px; }
  .mh-foot { padding-bottom: 24px; }
}
/* Phones: a slightly smaller hero headline so the longest slide fits. */
@media (max-width: 760px) {
  .mh-h { font-size: clamp(2rem, 8.6vw + 0.2rem, 2.6rem); }
  .mh-copy { gap: 18px; }
  .mh-body { padding-top: calc(var(--header-h) + 20px); }
}

/* Long words (German, Russian, Dutch compounds) must wrap inside their box
   on any screen width instead of pushing past the edge. */
:where(h1, h2, h3, h4, p, li, dt, dd, figcaption, blockquote, .stat .l, .stat .v) { overflow-wrap: break-word; }
:where(.sec-head, .stat, .stats, .hx-trust-card) > * { min-width: 0; }
:root:is(:lang(de), :lang(ru), :lang(fr), :lang(es), :lang(pt)) :is(h1, h2, h3, .stat .l, .stat .s, .rowcard b, .rowcard h3, .card h3) { overflow-wrap: anywhere; hyphens: auto; }
:root:is(:lang(de), :lang(ru), :lang(fr), :lang(es), :lang(pt)) .stat .l { hyphens: auto; }
/* Longer-translation locales: the hero headline is a little smaller so the
   whole hero still fits one screen. */
:root:is(:lang(de), :lang(ru)) .mh-h { font-size: clamp(2.2rem, min(0.9rem + 4.6vw, 7.6vh + 0.4rem), 6.2rem); }
@media (min-width: 761px) and (max-height: 940px) {
  :root:is(:lang(de), :lang(ru)) .mh-h { font-size: clamp(2.1rem, min(0.9rem + 4.6vw, 5.6vh + 0.4rem), 6.2rem); }
}
@media (max-width: 760px) {
  :root:is(:lang(de), :lang(ru)) .mh-h { font-size: clamp(1.8rem, 7.6vw + 0.2rem, 2.3rem); }
}
/* Justified text on a narrow phone leaves wide gaps between words; let the
   browser hyphenate long words there so lines set evenly. */
@media (max-width: 560px) {
  p, li, dd, figcaption, .mh-sub { hyphens: auto; -webkit-hyphens: auto; }
}
/* Smallest phones (under 360px): the sticky bottom bar already carries
   "Request a quote", so the header keeps only the logo and the menu. */
@media (max-width: 359px) {
  .hdr .btn-rfq { display: none; }
}

/* Narrow phones (up to 429px): the logo, Quote and Menu must all fit in every
   language, so the Menu label is kept for screen readers but hidden visually. */
@media (max-width: 429px) {
  .hdr-logo img { height: 28px; }
  .hdr-in { gap: 6px; }
  .hdr-right { gap: 6px; }
  .hdr .btn-sm { padding: 0 12px; font-size: 14px; }
  .menu-toggle { padding: 0 11px; }
  .menu-toggle .mt-open, .menu-toggle .mt-close { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

/* ---------- Touch targets (mobile) — keep this block LAST ----------
   44px under a coarse pointer. Inline links in prose are exempt (WCAG 2.5.5). */
/* Non-Latin locales: the serif-italic display touches (taglines, pull quotes,
   polaroid captions) fall back to synthetic italics in Arabic, CJK and Cyrillic,
   which read as a rendering fault. Upright, in the locale's script font. */ html:is(:lang(ar),:lang(ja),:lang(ko),:lang(ru)) :is(.ctile-media .ph span,.serif-pull,.city-hero .tagline,.post-body blockquote p,.post-body .ex-fig--polaroid figcaption,.dispatch-rail p,.legal-prevails,.ex-serif,.bpost-title){font-family: var(--font-display);font-style: normal}@media (pointer: coarse){.ftr-col a,.ftr-legal a,.crumbs a,.sitemap-links a,.ftr-site,.tag,.month-chip,.gx-markets a,.search-close,.copy-btn,.hdr-search{min-height: 44px;display: inline-flex;align-items: center}.ftr-social a{width: 44px;height: 44px}.wa-channel-x{width: 44px;height: 44px}.ftr-phone a,.ctaband .email{min-height: 44px;display: inline-flex;align-items: center}.sitemap-rg{min-height: 44px;display: flex;align-items: center;margin-bottom: 0}}.hx-dark,.gx-sec,.ctaband,.inkpanel,.contracting-band{border: 1px solid var(--border)}.hx-dark,.gx-sec,.inkpanel{background: radial-gradient(120% 90% at 85% 0%,rgba(178,86,115,0.10),transparent 55%),var(--ink-900)}:root:is(:lang(en),:lang(es),:lang(fr),:lang(de),:lang(pt),:lang(ru)) :is(h1,h2){text-transform: uppercase;letter-spacing: -0.02em;line-height: 0.98;font-weight: 800;overflow-wrap: break-word;hyphens: manual}:root:is(:lang(en),:lang(es),:lang(fr),:lang(de),:lang(pt),:lang(ru)) :is(h1,h2) em{text-transform: none}@media (pointer: coarse){.ctaband::before{animation: none}}:is(h1,h2,h3,h4,h5,h6){text-align: start}:lang(ja) :is(h1,h2,h3){word-break: auto-phrase;overflow-wrap: anywhere}:root:is(:lang(de),:lang(ru)) :is(h1,h2,h3){-webkit-hyphens: auto;hyphens: auto;hyphenate-limit-chars: 12 5 5;overflow-wrap: break-word}html{-webkit-tap-highlight-color: transparent}@media (max-width: 760px){.tagrow[data-filter-tags],.tagrow[data-cat-tags]{flex-wrap: nowrap;overflow-x: auto;scroll-snap-type: x proximity;-webkit-overflow-scrolling: touch;padding-bottom: 6px;margin-inline: calc(-1 * var(--gutter));padding-inline: var(--gutter);scrollbar-width: none;-webkit-mask-image: linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent);mask-image: linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent)}.tagrow[data-filter-tags] > *,.tagrow[data-cat-tags] > *{flex: none;scroll-snap-align: start}.wa-channel{display: none}}@media (min-width: 1101px){.blog-related:has(> :nth-child(4):last-child){grid-template-columns: repeat(4,minmax(0,1fr))}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):has(> :nth-child(4):last-child,> :nth-child(7):last-child,> :nth-child(8):last-child,> :nth-child(10):last-child,> :nth-child(11):last-child,> :nth-child(12):last-child){grid-template-columns: repeat(4,minmax(0,1fr))}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):has(> :nth-child(5):last-child,> :nth-child(6):last-child,> :nth-child(9):last-child){grid-template-columns: repeat(3,minmax(0,1fr))}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):has(> :nth-child(n+13):last-child){grid-template-columns: repeat(4,minmax(0,1fr))}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):has(> :nth-child(4n+13):last-child){grid-template-columns: repeat(3,minmax(0,1fr))}.grid.g3:has(> :nth-child(4):last-child){grid-template-columns: repeat(2,minmax(0,1fr))}}@media (min-width: 761px) and (max-width: 1100px){.grid:is(.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):has(> :nth-child(2)){grid-template-columns: repeat(2,minmax(0,1fr))}.grid:is(.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):has(> :nth-child(3):last-child,> :nth-child(5):last-child,> :nth-child(6):last-child,> :nth-child(9):last-child){grid-template-columns: repeat(3,minmax(0,1fr))}.grid:is(.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not(:has(> :nth-child(3):last-child,> :nth-child(5):last-child,> :nth-child(9):last-child)) > :last-child:nth-child(odd):not(:first-child):not(.dtile){grid-column: 1 / -1}.grid:is(.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not(:has(> :nth-child(3):last-child,> :nth-child(5):last-child,> :nth-child(9):last-child)) > .ctile:last-child:nth-child(odd):not(:first-child){display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);align-items: center}.grid:is(.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not(:has(> :nth-child(3):last-child,> :nth-child(5):last-child,> :nth-child(9):last-child)) > .ctile:last-child:nth-child(odd):not(:first-child) .ctile-media{margin: 8px}}.xp-grid{align-items: start}.xp-body{display: flex;flex-direction: column;gap: 6px;min-width: 0}.xp-card .t{margin: 0;font-size: 15.5px;font-weight: 700;letter-spacing: -0.01em;line-height: 1.45;text-transform: none}.xp-more > summary{list-style: none;cursor: pointer;display: inline-flex;align-items: center;gap: 8px;min-height: 32px;font-size: 13.5px;font-weight: 700;color: var(--brand-strong)}.xp-more > summary::-webkit-details-marker{display: none}.xp-more > summary::before{content: "";width: 7px;height: 7px;border-right: 2px solid currentColor;border-bottom: 2px solid currentColor;transform: rotate(-45deg);transition: transform var(--dur) var(--ease-out)}[dir="rtl"] .xp-more > summary::before{transform: rotate(135deg)}.xp-more[open] > summary::before{transform: rotate(45deg)}.xp-more > p{margin: 6px 0 0;font-size: 15px;line-height: 1.68;color: var(--text-body)}.fold-list{border-top: 1px solid var(--border);margin-top: 8px}.fold{border-bottom: 1px solid var(--border)}.fold > summary{list-style: none;cursor: pointer;display: flex;align-items: center;justify-content: space-between;gap: 16px;min-height: 52px;padding: 10px 0}.fold > summary::-webkit-details-marker{display: none}.fold > summary h3{margin: 0;font-size: 1.05rem;line-height: 1.35;text-transform: none}.fold > summary::after{content: "";flex: none;width: 8px;height: 8px;margin-inline-end: 6px;border-right: 2px solid var(--text-muted);border-bottom: 2px solid var(--text-muted);transform: rotate(45deg);transition: transform var(--dur) var(--ease-out)}.fold[open] > summary::after{transform: rotate(225deg)}.fold-body{padding: 0 0 12px}.otp{position: sticky;top: calc(var(--header-stick) - 8px);z-index: 40;margin: 28px 0 0;padding: 0 var(--gutter);transition: top 520ms var(--ease-out)}html:has(.otp){scroll-padding-top: calc(var(--header-stick) + 72px)}.otp-in{max-width: var(--maxw-wide);margin: 0 auto;display: flex;align-items: center;gap: 12px;padding: 6px 8px 6px 18px;border-radius: var(--radius-pill);background: rgba(23,12,20,0.95);border: 1px solid var(--border);-webkit-backdrop-filter: blur(16px) saturate(1.4);backdrop-filter: blur(16px) saturate(1.4);box-shadow: 0 14px 40px -24px rgba(0,0,0,0.8)}.otp-k{flex: none;font-family: var(--font-tech);font-weight: 700;font-size: 11px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--text-muted)}.otp-chips{display: flex;gap: 6px;overflow-x: auto;scrollbar-width: none;min-width: 0;scroll-behavior: smooth;-webkit-mask-image: linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image: linear-gradient(90deg,#000 calc(100% - 28px),transparent)}[dir="rtl"] .otp-chips{-webkit-mask-image: linear-gradient(270deg,#000 calc(100% - 28px),transparent);mask-image: linear-gradient(270deg,#000 calc(100% - 28px),transparent)}.otp-chips::-webkit-scrollbar{display: none}.otp-chips a{flex: none;display: inline-flex;align-items: center;min-height: 36px;padding: 0 14px;border-radius: var(--radius-pill);font-size: 13.5px;font-weight: 600;color: var(--text-body);white-space: nowrap;border: 1px solid transparent;transition: background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}@media (hover: hover){.otp-chips a:hover{text-decoration: none;color: var(--text-strong);border-color: var(--border-strong)}}.otp-chips a[aria-current="true"]{background: var(--green-600);color: #fff}@media (max-width: 760px){.otp{margin-top: 18px;padding: 0 6px}.otp-in{padding: 5px;border-radius: 18px}.otp-k{display: none}}.mbar{display: none}@media (pointer: coarse) and (max-width: 760px){:root{--mbar-h: 68px}.wa-dock{display: none}.mbar{display: flex;align-items: center;gap: 10px;position: fixed;left: 0;right: 0;bottom: 0;z-index: 55;padding: 10px calc(12px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));background: rgba(23,12,20,0.9);border-top: 1px solid var(--border);-webkit-backdrop-filter: blur(16px) saturate(1.4);backdrop-filter: blur(16px) saturate(1.4)}.mbar-rfq{flex: 1 1 auto;min-height: 48px}.mbar-wa{flex: none;width: 48px;height: 48px;border-radius: 50%;background: #25D366;color: #fff;display: flex;align-items: center;justify-content: center}.mbar-wa:focus-visible,.mbar-rfq:focus-visible{outline: 3px solid var(--ring);outline-offset: 2px}body{padding-bottom: calc(var(--mbar-h) + env(safe-area-inset-bottom))}.mh{padding-bottom: calc(6px + var(--mbar-h) + env(safe-area-inset-bottom))}.mh .hero-ctas{flex-wrap: nowrap;gap: 10px}.mh .hero-ctas .btn{width: auto;flex: 1 1 0;min-width: 0;padding: 15px 10px;font-size: 15px}.mh .hero-ctas .btn .ic{display: none}}@media (max-width: 380px){.hdr-logo img{height: 30px}}.fd-hero{min-height: min(94vh,880px)}.fd-hero .ovr{background: linear-gradient(180deg,rgba(14,7,12,0.6) 0%,rgba(14,7,12,0.2) 30%,rgba(14,7,12,0.88) 78%,rgba(14,7,12,0.96) 100%),radial-gradient(80% 70% at 0% 100%,rgba(14,7,12,0.6),transparent 60%)}.fd-hero .container{padding-bottom: clamp(28px,4vw,56px)}.fd-hero h1{max-width: 14ch}.fd-hero--hub h1{max-width: 18ch}.fd-hero-tags{display: flex;flex-wrap: wrap;gap: 8px;margin-bottom: 20px}.fd-hero-tags .badge{white-space: normal}.fd-lead{margin: 0;max-width: 62ch;font-size: var(--fs-body-lg);line-height: 1.6;color: rgba(247,233,239,0.84)}.fd-ctas{display: flex;flex-wrap: wrap;gap: 12px;margin-top: 28px}.fd-facts{margin: clamp(28px,4vw,44px) 0 0;display: grid;grid-template-columns: repeat(auto-fit,minmax(190px,1fr));gap: 1px;background: rgba(255,255,255,0.12);border: 1px solid rgba(255,255,255,0.14);border-radius: var(--radius-xl);overflow: hidden;-webkit-backdrop-filter: blur(16px) saturate(1.3);backdrop-filter: blur(16px) saturate(1.3)}.fd-fact{padding: 16px 20px 18px;background: rgba(14,7,12,0.62);min-width: 0}.fd-fact dt{display: flex;align-items: center;gap: 8px;font-family: var(--font-tech);font-weight: 700;font-size: 11px;letter-spacing: 0.1em;text-transform: uppercase;color: rgba(247,233,239,0.62)}.fd-fact dt .ic{color: var(--signal)}.fd-fact dd{margin: 8px 0 0;display: flex;flex-wrap: wrap;align-items: center;gap: 8px 10px;font-size: 16px;font-weight: 700;line-height: 1.35;color: #fff}.fd-fact-n{font-size: 30px;font-weight: 800;line-height: 1;letter-spacing: -0.03em;color: var(--signal);font-variant-numeric: tabular-nums}.fd-st{display: inline-flex;align-items: center;gap: 6px;align-self: flex-start;padding: 5px 11px;border-radius: var(--radius-pill);border: 1px solid;font-size: 12.5px;font-weight: 700;line-height: 1.3;max-width: 100%;flex-wrap: wrap}.fd-st > span{min-width: 0}.fd-st b{font-size: 13.5px;font-variant-numeric: tabular-nums}.fd-st.is-open{background: rgba(186,112,134,0.12);color: var(--signal);border-color: rgba(186,112,134,0.32)}.fd-st.is-closed{background: var(--accent-gold-soft);color: var(--gold-text);border-color: rgba(161,111,107,0.32)}.fd-pulse{position: relative;flex: none;width: 8px;height: 8px;border-radius: 50%;background: var(--signal)}.fd-layout{display: grid;grid-template-columns: minmax(0,1fr) 340px;gap: clamp(32px,4vw,64px);align-items: stretch}.fd-main{min-width: 0}.fd-sec{padding-top: clamp(56px,6vw,96px)}.fd-sec--first{padding-top: clamp(40px,5vw,72px)}.fd-sec > h2,.fd-h2,.fd-sec-row h2{margin: 14px 0 18px;font-size: clamp(1.9rem,1.2rem + 2vw,3rem)}.fd-h2{margin-bottom: 32px}.fd-sec-row{display: flex;align-items: flex-end;justify-content: space-between;gap: 12px 24px;flex-wrap: wrap}.fd-sec-row h2{margin-bottom: 0}.fd-p{margin: 0;max-width: 66ch;font-size: 17px;line-height: 1.7;color: var(--text-body)}.fd-fine{margin: 20px 0 0;font-size: 14px;line-height: 1.6;color: var(--text-muted)}.fd-page :is(.fd-sum dd,.fd-fact dd,.fd-inc dd,.fd-who p,.fd-day-list > li,.fd-exl > li,.fd-notes > li,.fd-opt p,.fd-pcard-body > p,.fd-steps p,.fd-date-bb,.fd-day-note,.fd-route li,.fd-legs li,.fd-acts li,.fd-addon-list li,.fd-cal-row,.fd-month-list li,.fd-fine){text-align: start;-webkit-hyphens: manual;hyphens: manual}.fd-sf{display: inline-flex;flex-wrap: wrap;align-items: center;gap: 4px 8px}.fd-sf .fd-to{color: var(--signal)}[dir="rtl"] .fd-sf .fd-to{transform: scaleX(-1)}.fd-route{list-style: none;margin: 28px 0 0;padding: 26px 20px 22px;display: grid;grid-auto-flow: column;grid-auto-columns: minmax(0,1fr);background: radial-gradient(90% 120% at 100% 0%,rgba(178,86,115,0.1),transparent 60%),var(--surface-card);border: 1px solid var(--border);border-radius: var(--radius-xl)}.fd-route > li{position: relative;display: flex;flex-direction: column;align-items: center;gap: 8px;text-align: center;padding: 0 4px;min-width: 0}.fd-route > li::before,.fd-route > li::after{content: "";position: absolute;top: 16px;inset-inline: 0;height: 2px}.fd-route > li::before{background: var(--border-strong)}.fd-route > li::after{background: linear-gradient(90deg,var(--brand),var(--signal));transform-origin: left center}[dir="rtl"] .fd-route > li::after{transform-origin: right center}.fd-route > li:first-child::before,.fd-route > li:first-child::after{inset-inline-start: 50%}.fd-route > li:last-child::before,.fd-route > li:last-child::after{inset-inline-end: 50%}.fd-stop,.fd-hop{list-style: none}.fd-route > .is-flight::before,.fd-route > .is-flight::after{background: repeating-linear-gradient(90deg,var(--gold-500) 0 6px,transparent 6px 12px);opacity: 0.8}.fd-node{position: relative;z-index: 1;width: 18px;height: 18px;margin: 8px 0;border-radius: 50%;background: var(--bg-page);border: 2px solid var(--signal);box-shadow: 0 0 0 5px rgba(186,112,134,0.14)}.fd-route > li:first-child .fd-node,.fd-route > li:last-child .fd-node{background: var(--signal)}.fd-hop-ic{position: relative;z-index: 1;width: 34px;height: 34px;border-radius: 50%;display: grid;place-items: center;background: var(--ink-900);border: 1px solid rgba(161,111,107,0.5);color: var(--gold-text)}.fd-stop-n{font-size: 15px;font-weight: 800;line-height: 1.25;letter-spacing: -0.01em;color: var(--text-strong);overflow-wrap: anywhere}.fd-stop-k,.fd-hop-t{font-family: var(--font-tech);font-weight: 700;font-size: 11px;letter-spacing: 0.08em;text-transform: uppercase;color: var(--signal)}.fd-hop-t{color: var(--gold-text)}.fd-route--mini{margin: 2px 0 0;padding: 0;display: flex;flex-wrap: wrap;align-items: center;gap: 6px 0;background: none;border: 0;border-radius: 0}.fd-route--mini > li{flex-direction: row;gap: 0;padding: 0;text-align: start}.fd-route--mini > li::before,.fd-route--mini > li::after{display: none}.fd-route--mini .fd-node{width: 14px;height: 2px;margin: 0 7px;border: 0;border-radius: 2px;box-shadow: none;background: var(--signal)}.fd-route--mini > li:first-child .fd-node{display: none}.fd-route--mini .fd-hop-ic{width: 22px;height: 22px;margin: 0 6px}.fd-route--mini .fd-stop-n{font-size: 12.5px;font-weight: 700;color: var(--text-body);overflow-wrap: normal;white-space: nowrap}.fd-who{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 14px;margin-top: 16px}.fd-who > div{padding: 20px 22px;border-radius: var(--radius-lg);background: var(--surface-card);border: 1px solid var(--border)}.fd-who-k,.fd-day-lbl,.fd-in-k,.fd-sum-k,.fd-date-k{display: block;font-family: var(--font-tech);font-weight: 700;font-size: 11px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--text-muted)}.fd-who p{margin: 8px 0 0;font-size: 15px;line-height: 1.65;color: var(--text-body)}.fd-expand{display: inline-flex;align-items: center;min-height: 44px;padding: 0 18px;border-radius: var(--radius-pill);border: 1px solid var(--border-strong);background: transparent;color: var(--text-strong);font-family: var(--font-sans);font-size: 14px;font-weight: 700;cursor: pointer;transition: background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.fd-expand[hidden]{display: none}@media (hover: hover){.fd-expand:hover{border-color: var(--signal);color: var(--signal)}}.fd-expand:focus-visible{outline: 3px solid var(--ring);outline-offset: 2px}.fd-x-close,.fd-expand[aria-pressed="true"] .fd-x-open{display: none}.fd-expand[aria-pressed="true"] .fd-x-close{display: inline}.fd-days{list-style: none;margin: 30px 0 0;padding: 0;position: relative;display: grid;gap: 14px}.fd-days::before,.fd-days::after{content: "";position: absolute;inset-inline-start: 27px;top: 28px;bottom: 28px;width: 2px;border-radius: 2px}.fd-days::before{background: var(--border)}.fd-days::after{background: linear-gradient(180deg,var(--signal),var(--brand) 60%,var(--ocean-500));transform-origin: top center}.fd-day{position: relative;display: grid;grid-template-columns: 56px minmax(0,1fr);gap: 18px;align-items: start}.fd-day-mark{position: relative;z-index: 1;width: 56px;height: 56px;border-radius: 18px;display: grid;place-items: center;margin-top: 4px;background: var(--surface-raised);border: 1px solid var(--border-strong);font-size: 19px;font-weight: 800;letter-spacing: -0.02em;color: var(--text-strong);font-variant-numeric: tabular-nums;transition: background var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.fd-day:has(> .fd-day-d[open]) .fd-day-mark{color: var(--signal);border-color: rgba(186,112,134,0.45)}@media (hover: hover){.fd-day:hover .fd-day-mark{background: var(--green-600);color: #fff;border-color: var(--signal)}}.fd-day-d{min-width: 0;border-radius: var(--radius-lg);background: var(--surface-card);border: 1px solid var(--border);overflow: hidden;transition: border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.fd-day-d[open]{border-color: rgba(186,112,134,0.3);box-shadow: 0 30px 60px -40px rgba(0,0,0,0.8)}.fd-day-d > summary{list-style: none;cursor: pointer;position: relative;display: grid;gap: 8px;padding: 20px 64px 20px 24px}.fd-day-d > summary::-webkit-details-marker{display: none}.fd-day-d > summary:focus-visible{outline: 3px solid var(--ring);outline-offset: -3px;border-radius: var(--radius-lg)}@media (hover: hover){.fd-day-d:not([open]) > summary:hover{background: var(--surface-raised)}}.fd-day-top{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 10px}.fd-day-k{font-family: var(--font-tech);font-weight: 700;font-size: 11px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--signal)}.fd-flag{display: inline-flex;align-items: center;gap: 5px;padding: 3px 9px;border-radius: var(--radius-pill);font-size: 11.5px;font-weight: 700;background: var(--accent-gold-soft);color: var(--gold-text);border: 1px solid rgba(161,111,107,0.3)}.fd-day-d h3{margin: 0;font-size: clamp(1.15rem,1rem + 0.5vw,1.4rem);line-height: 1.25;letter-spacing: -0.02em;color: var(--text-strong)}.fd-legs{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;align-items: center;gap: 2px 0;font-size: 14px;font-weight: 600;color: var(--text-muted)}.fd-legs > li + li::before{content: "";display: inline-block;width: 6px;height: 6px;margin: 0 10px 2px 8px;border-right: 1.5px solid var(--signal);border-bottom: 1.5px solid var(--signal);transform: rotate(-45deg)}[dir="rtl"] .fd-legs > li + li::before{margin: 0 8px 2px 10px;transform: rotate(135deg)}.fd-chips{display: flex;flex-wrap: wrap;gap: 8px;margin-top: 4px}.fd-chip{display: inline-flex;align-items: center;flex-wrap: wrap;gap: 6px;padding: 6px 11px;border-radius: var(--radius-pill);font-size: 12.5px;font-weight: 600;line-height: 1.3;background: var(--surface-raised);border: 1px solid var(--border);color: var(--text-body)}.fd-chip--meal .ic{color: var(--gold-text)}.fd-chip--meal > span + span::before{content: "·";margin-inline-end: 6px;color: var(--text-faint)}.fd-chip--stay .ic{color: var(--ocean-300)}.fd-chip-k{color: var(--text-faint)}.fd-day-tog{position: absolute;top: 20px;inset-inline-end: 20px;width: 34px;height: 34px;border-radius: 50%;border: 1px solid var(--border-strong);transition: transform var(--dur) var(--ease-out),background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.fd-day-tog::before,.fd-day-tog::after{content: "";position: absolute;left: 50%;top: 50%;width: 12px;height: 2px;margin: -1px 0 0 -6px;border-radius: 2px;background: var(--text-strong)}.fd-day-tog::after{transform: rotate(90deg)}.fd-day-d[open] .fd-day-tog{transform: rotate(45deg);background: var(--signal);border-color: var(--signal)}.fd-day-d[open] .fd-day-tog::before,.fd-day-d[open] .fd-day-tog::after{background: var(--ink-900)}.fd-day-body{display: grid;gap: 22px;padding: 2px 24px 24px;border-top: 1px solid var(--divider);padding-top: 20px}.fd-day-body.has-ph{grid-template-columns: minmax(0,1fr) 240px;align-items: start}.fd-day-copy > p{margin: 0 0 16px;font-size: 16px;line-height: 1.7;color: var(--text-body)}.fd-day-lbl{margin: 0 0 10px}.fd-day-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 9px}.fd-day-list > li{position: relative;padding-inline-start: 22px;font-size: 15.5px;line-height: 1.6;color: var(--text-strong)}.fd-day-list > li::before{content: "";position: absolute;inset-inline-start: 2px;top: 0.6em;width: 8px;height: 8px;border-radius: 50%;border: 2px solid var(--signal)}.fd-opts{display: grid;gap: 10px}.fd-opt{display: flex;gap: 12px;align-items: flex-start;padding: 14px 16px;border-radius: var(--radius-md);background: var(--surface-raised);border: 1px solid var(--border)}.fd-opt:first-child{border-color: rgba(161,111,107,0.4)}.fd-opt > .ic{flex: none;margin-top: 2px;color: var(--signal)}.fd-opt:first-child > .ic{color: var(--gold-text)}.fd-opt b{display: block;font-size: 15px;color: var(--text-strong)}.fd-opt p{margin: 4px 0 0;font-size: 14.5px;line-height: 1.6;color: var(--text-body)}.fd-day-note{display: flex;gap: 10px;align-items: flex-start;margin: 16px 0 0;padding: 12px 14px;border-radius: var(--radius-md);background: var(--accent-gold-soft);border: 1px solid rgba(161,111,107,0.3);font-size: 14.5px;line-height: 1.6;color: var(--text-body)}.fd-day-note .ic{flex: none;margin-top: 3px;color: var(--gold-text)}.fd-day-ph{position: relative;margin: 0;aspect-ratio: 4 / 3;border-radius: var(--radius-md);overflow: hidden;background: var(--ink-800)}.fd-day-ph img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;display: block}.fd-dates{list-style: none;margin: 28px 0 0;padding: 0;display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 14px}.fd-date{position: relative;display: flex;flex-direction: column;gap: 10px;padding: 20px 20px 18px;border-radius: var(--radius-lg);background: var(--surface-card);border: 1px solid var(--border);overflow: hidden;transition: border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}@media (hover: hover){.fd-date:hover{border-color: var(--border-strong);transform: translateY(-3px)}}.fd-date.is-next{border-color: rgba(186,112,134,0.45);background: radial-gradient(120% 90% at 100% 0%,rgba(186,112,134,0.14),transparent 60%),var(--surface-card);box-shadow: 0 24px 50px -32px rgba(178,86,115,0.7)}.fd-date.is-closed{opacity: 0.78}.fd-date-flag{align-self: flex-start;padding: 4px 10px;border-radius: var(--radius-pill);background: var(--green-600);color: #fff;font-family: var(--font-tech);font-weight: 700;font-size: 10.5px;letter-spacing: 0.08em;text-transform: uppercase;line-height: 1.3}.fd-big{display: grid;grid-template-columns: auto minmax(0,1fr);column-gap: 12px;align-items: end}.fd-dd{grid-row: span 2;font-size: clamp(3rem,2.2rem + 1.8vw,4.2rem);font-weight: 800;line-height: 0.85;letter-spacing: -0.05em;color: var(--text-strong);font-variant-numeric: tabular-nums}.fd-mm{align-self: end;font-size: 16px;font-weight: 800;color: var(--text-strong);line-height: 1.2;overflow-wrap: anywhere}.fd-yy{align-self: start;font-family: var(--font-tech);font-weight: 700;font-size: 12px;color: var(--text-muted);font-variant-numeric: tabular-nums}.fd-date-bb{font-size: 13.5px;line-height: 1.45;color: var(--text-muted)}.fd-date-bb time{font-weight: 700;color: var(--text-body)}.fd-anyday{display: flex;gap: 16px;align-items: center;margin-top: 8px;padding: 24px;border-radius: var(--radius-lg);background: var(--surface-card);border: 1px solid var(--border)}.fd-anyday .ic{flex: none;color: var(--signal)}.fd-anyday p{margin: 0;font-size: 17px;line-height: 1.6;color: var(--text-strong)}.fd-inex{display: grid;grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);gap: 16px;margin-top: 28px;align-items: start}.fd-incl,.fd-excl{padding: clamp(22px,3vw,30px);border-radius: var(--radius-xl)}.fd-incl{background: radial-gradient(100% 80% at 0% 0%,rgba(186,112,134,0.12),transparent 60%),var(--surface-card);border: 1px solid rgba(186,112,134,0.25)}.fd-excl{background: var(--surface-muted);border: 1px solid var(--border)}.fd-incl h3,.fd-excl h3{display: flex;align-items: center;gap: 10px;margin: 0 0 18px;font-size: 18px;letter-spacing: -0.01em;color: var(--text-strong)}.fd-incl h3 .ic{color: var(--signal)}.fd-excl h3 .ic{color: var(--danger)}.fd-inc{margin: 0;display: grid}.fd-inc > div{padding: 13px 0;border-top: 1px solid var(--divider)}.fd-inc > div:first-child{border-top: 0;padding-top: 0}.fd-inc dt{display: flex;align-items: center;gap: 8px;font-family: var(--font-tech);font-weight: 700;font-size: 11px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--text-muted)}.fd-inc dt .ic{color: var(--signal)}.fd-inc dd{margin: 5px 0 0;font-size: 15.5px;line-height: 1.55;color: var(--text-strong)}.fd-in-k{margin: 20px 0 12px}.fd-acts{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 8px}.fd-acts > li{display: inline-flex;align-items: center;gap: 6px;padding: 8px 12px;border-radius: var(--radius-pill);font-size: 13.5px;font-weight: 600;line-height: 1.3;background: rgba(186,112,134,0.09);border: 1px solid rgba(186,112,134,0.22);color: var(--text-strong)}.fd-acts .ic{flex: none;color: var(--signal)}.fd-exl{list-style: none;margin: 0;padding: 0;display: grid;gap: 13px}.fd-exl > li{display: flex;gap: 10px;align-items: flex-start;font-size: 15px;line-height: 1.55;color: var(--text-body)}.fd-exl .ic{flex: none;margin-top: 4px;color: var(--danger);opacity: 0.85}.fd-addons{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 14px;margin-top: 24px}.fd-addon-g{padding: 22px;border-radius: var(--radius-lg);background: var(--surface-card);border: 1px solid var(--border)}.fd-addon-k{display: inline-flex;align-items: center;gap: 8px;margin-bottom: 14px;font-family: var(--font-tech);font-weight: 700;font-size: 11px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--signal)}.fd-addon-list{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 8px}.fd-addon-list > li{display: inline-flex;align-items: center;gap: 6px;padding: 9px 13px;border-radius: var(--radius-pill);font-size: 13.5px;font-weight: 600;line-height: 1.3;background: var(--surface-raised);border: 1px solid var(--border-strong);color: var(--text-strong);transition: border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}@media (hover: hover){.fd-addon-list > li:hover{border-color: var(--gold-500);transform: translateY(-2px)}}.fd-addon-list .ic{flex: none;color: var(--gold-text)}.fd-notes{list-style: none;margin: 8px 0 0;padding: 0;display: grid;gap: 10px}.fd-notes > li{display: flex;gap: 12px;align-items: flex-start;padding: 16px 18px;border-radius: var(--radius-md);background: var(--surface-card);border: 1px solid var(--border);font-size: 15.5px;line-height: 1.6;color: var(--text-body)}.fd-notes .ic{flex: none;margin-top: 3px;color: var(--ocean-300)}.fd-steps{list-style: none;margin: 8px 0 0;padding: 0;display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 14px}.fd-steps > li{padding: 22px;border-radius: var(--radius-lg);background: var(--surface-card);border: 1px solid var(--border)}.fd-step-n{display: grid;place-items: center;width: 36px;height: 36px;margin-bottom: 14px;border-radius: 50%;background: var(--green-600);color: #fff;font-weight: 800}.fd-steps p{margin: 0;font-size: 15.5px;line-height: 1.6;color: var(--text-body)}.fd-summary{padding-top: clamp(40px,5vw,72px);min-width: 0}.fd-summary-in{position: sticky;top: calc(var(--header-h) + 24px);padding: 26px;border-radius: var(--radius-xl);border: 1px solid var(--border-strong);background: radial-gradient(120% 70% at 100% 0%,rgba(178,86,115,0.16),transparent 60%),var(--ink-900);box-shadow: var(--shadow-lg)}.fd-sum-k{color: var(--signal)}.fd-sum-name{margin: 8px 0 12px;font-size: 21px;font-weight: 800;line-height: 1.2;letter-spacing: -0.02em;color: var(--text-strong)}.fd-sum{margin: 0}.fd-sum > div{padding: 11px 0;border-top: 1px solid var(--divider)}.fd-sum dt{display: flex;align-items: center;gap: 8px;font-family: var(--font-tech);font-weight: 700;font-size: 10.5px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--text-muted)}.fd-sum dt .ic{color: var(--signal)}.fd-sum dd{margin: 4px 0 0;font-size: 14.5px;line-height: 1.5;color: var(--text-strong)}.fd-sum-cta{width: 100%;margin-top: 16px;white-space: normal}.fd-sum-mail{display: flex;align-items: center;gap: 8px;min-height: 44px;font-size: 14px;color: var(--text-body);overflow-wrap: anywhere}.fd-sum-mail .ic{flex: none;color: var(--signal)}@media (hover: hover){.fd-sum-mail:hover{color: var(--text-strong)}}.fd-pcards{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 18px}.fd-pcards--2{grid-template-columns: repeat(2,minmax(0,1fr))}.fd-pcard{position: relative;display: flex;flex-direction: column;overflow: hidden;color: inherit;border-radius: var(--radius-xl);background: var(--surface-card);border: 1px solid var(--border);transition: transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}@media (hover: hover){.fd-pcard:hover{text-decoration: none;transform: translateY(-6px);border-color: var(--border-strong);box-shadow: var(--shadow-md)}}.fd-pcard:focus-visible{outline: 3px solid var(--ring);outline-offset: 3px}.fd-pcard-media{position: relative;aspect-ratio: 16 / 11;margin: 8px 8px 0;border-radius: calc(var(--radius-xl) - 8px);overflow: hidden;background: var(--ink-800);isolation: isolate}.fd-pcard-media img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform 1000ms var(--ease-out)}@media (hover: hover){.fd-pcard:hover .fd-pcard-media img{transform: scale(1.06)}}.fd-pcard-media::after{content: "";position: absolute;inset: 0;background: linear-gradient(180deg,rgba(14,7,12,0.15) 0%,transparent 35%,rgba(14,7,12,0.82) 100%)}.fd-pcard-days{position: absolute;z-index: 1;inset-inline-start: 18px;bottom: 14px;display: flex;align-items: baseline;gap: 8px;color: #fff}.fd-pcard-days b{font-size: 56px;font-weight: 800;line-height: 0.85;letter-spacing: -0.05em;font-variant-numeric: tabular-nums}.fd-pcard-days span{font-family: var(--font-tech);font-weight: 700;font-size: 12px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--signal)}.fd-pcard-style{position: absolute;z-index: 1;top: 12px;inset-inline-start: 12px;display: inline-flex;align-items: center;gap: 6px;padding: 6px 11px;border-radius: var(--radius-pill);font-size: 12.5px;font-weight: 700;color: #fff;background: rgba(14,7,12,0.45);border: 1px solid rgba(255,255,255,0.22);-webkit-backdrop-filter: blur(10px);backdrop-filter: blur(10px)}.fd-pcard-body{display: flex;flex-direction: column;gap: 12px;flex: 1;padding: 20px 22px 22px}.fd-pcard-body h3{margin: 0;font-size: 20px;line-height: 1.2;letter-spacing: -0.02em;color: var(--text-strong)}.fd-pcard-body > p{margin: 0;font-size: 14.5px;line-height: 1.6;color: var(--text-body)}.fd-pcard-foot{margin-top: auto;padding-top: 14px;border-top: 1px solid var(--divider);display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px}.fd-pcard-next{display: inline-flex;align-items: center;flex-wrap: wrap;gap: 6px;font-size: 13px;color: var(--text-muted)}.fd-pcard-next .ic{color: var(--signal)}.fd-pcard-next time{font-weight: 700;color: var(--text-strong)}.fd-pcard-go{display: inline-flex;align-items: center;gap: 6px;font-size: 14px;font-weight: 700;color: var(--text-strong);transition: color var(--dur) var(--ease-out)}.fd-pcard-go .ic{transition: transform var(--dur) var(--ease-out)}[dir="rtl"] .fd-pcard-go .ic{transform: scaleX(-1)}@media (hover: hover){.fd-pcard:hover .fd-pcard-go{color: var(--signal)}.fd-pcard:hover .fd-pcard-go .ic{transform: translateX(3px)}[dir="rtl"] .fd-pcard:hover .fd-pcard-go .ic{transform: translateX(-3px) scaleX(-1)}}.fd-cmp-wrap{overflow-x: auto;-webkit-overflow-scrolling: touch;border-radius: var(--radius-xl);border: 1px solid var(--border);background: var(--surface-card)}.fd-cmp-wrap:focus-visible{outline: 3px solid var(--ring);outline-offset: 2px}.fd-cmp{width: 100%;min-width: 760px;table-layout: fixed;border-collapse: separate;border-spacing: 0;font-size: 14.5px}.fd-cmp thead th,.fd-cmp thead td{background: var(--ink-900);padding: 20px 18px;text-align: start;vertical-align: bottom;border-bottom: 1px solid var(--border)}.fd-cmp thead td{width: 230px}.fd-cmp thead th{font-size: 16px;font-weight: 800;line-height: 1.25;letter-spacing: -0.01em}.fd-cmp thead th a{color: var(--text-strong)}@media (hover: hover){.fd-cmp thead th a:hover{color: var(--signal)}}.fd-cmp tbody th{position: sticky;inset-inline-start: 0;z-index: 1;padding: 14px 18px;text-align: start;vertical-align: top;white-space: nowrap;background: var(--surface-raised);font-family: var(--font-tech);font-weight: 700;font-size: 11px;letter-spacing: 0.1em;text-transform: uppercase;color: var(--text-muted);border-top: 1px solid var(--divider)}.fd-cmp tbody th .ic{color: var(--signal);margin-inline-end: 8px}.fd-cmp td{padding: 14px 18px;vertical-align: top;line-height: 1.55;color: var(--text-body);border-top: 1px solid var(--divider)}.fd-cmp tbody tr:first-child th,.fd-cmp tbody tr:first-child td{border-top: 0}@media (hover: hover){.fd-cmp tbody tr:hover td{background: var(--surface-sand)}}.fd-cmp-n{font-size: 24px;font-weight: 800;color: var(--signal);font-variant-numeric: tabular-nums}.fd-cmp-hint{display: none;align-items: center;gap: 8px}.fd-cal{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 14px}.fd-month{padding: 20px;border-radius: var(--radius-lg);background: var(--surface-card);border: 1px solid var(--border)}.fd-month-h{display: flex;align-items: baseline;gap: 8px;padding-bottom: 12px;margin-bottom: 14px;border-bottom: 1px solid var(--divider)}.fd-month-m{font-size: 22px;font-weight: 800;letter-spacing: -0.02em;color: var(--text-strong)}.fd-month-y{font-family: var(--font-tech);font-weight: 700;font-size: 12px;color: var(--text-muted);font-variant-numeric: tabular-nums}.fd-month-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 14px}.fd-cal-row{display: grid;grid-template-columns: 52px minmax(0,1fr);gap: 14px;align-items: start}.fd-cal-row.is-closed{opacity: 0.78}.fd-cal-d{display: grid;place-items: center;width: 52px;height: 52px;border-radius: var(--radius-md);background: var(--surface-raised);border: 1px solid var(--border-strong);font-size: 22px;font-weight: 800;letter-spacing: -0.03em;color: var(--text-strong);font-variant-numeric: tabular-nums}.fd-cal-row.is-next .fd-cal-d{background: var(--green-600);border-color: var(--signal);color: #fff}.fd-cal-b{display: flex;flex-direction: column;gap: 3px;min-width: 0}.fd-cal-b > a{font-size: 15px;font-weight: 700;line-height: 1.35;color: var(--text-strong)}@media (hover: hover){.fd-cal-b > a:hover{color: var(--signal)}}.fd-cal-meta{font-size: 13px;line-height: 1.5;color: var(--text-muted)}.fd-cal-meta time{color: var(--text-body);font-weight: 600}.fd-cal-b .fd-st{margin-top: 5px}@media (max-width: 1100px){.fd-layout{grid-template-columns: minmax(0,1fr);gap: 0}.fd-summary{padding-top: clamp(48px,6vw,72px)}.fd-summary-in{position: static}.fd-pcards{grid-template-columns: minmax(0,1fr)}.fd-pcards .fd-pcard{display: grid;grid-template-columns: minmax(0,0.9fr) minmax(0,1fr)}.fd-pcards .fd-pcard-media{aspect-ratio: auto;min-height: 260px;margin: 8px}.fd-cal{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.fd-dates{grid-template-columns: repeat(2,minmax(0,1fr))}.fd-inex,.fd-who,.fd-addons{grid-template-columns: minmax(0,1fr)}.fd-steps{grid-template-columns: minmax(0,1fr)}.fd-day-body.has-ph{grid-template-columns: minmax(0,1fr)}.fd-day-ph{aspect-ratio: 16 / 9}.fd-cmp-hint{display: flex}}@media (max-width: 760px){.fd-hero{min-height: 0}.fd-hero .container{padding-top: calc(var(--header-h) + 72px)}.fd-facts{grid-template-columns: repeat(2,minmax(0,1fr));border-radius: var(--radius-lg)}.fd-fact{padding: 14px 14px 15px}.fd-fact:last-child:nth-child(odd){grid-column: 1 / -1}.fd-fact dd{font-size: 15px}.fd-ctas .btn{flex: 1 1 auto;white-space: normal;text-align: center}.fd-pcards .fd-pcard{display: flex}.fd-pcards .fd-pcard-media{aspect-ratio: 16 / 11;min-height: 0;margin: 8px 8px 0}.fd-pcards--2{grid-template-columns: minmax(0,1fr)}.fd-cal{grid-template-columns: minmax(0,1fr)}.fd-route:not(.fd-route--mini){grid-auto-flow: row;grid-auto-columns: auto;padding: 14px 18px}.fd-route:not(.fd-route--mini) > li{flex-direction: row;flex-wrap: wrap;align-items: center;gap: 4px 14px;text-align: start;padding: 8px 0}.fd-route:not(.fd-route--mini) > li::before,.fd-route:not(.fd-route--mini) > li::after{top: 0;bottom: 0;inset-inline: 16px auto;width: 2px;height: auto}.fd-route:not(.fd-route--mini) > li:first-child::before,.fd-route:not(.fd-route--mini) > li:first-child::after{top: 50%;inset-inline-start: 16px}.fd-route:not(.fd-route--mini) > li:last-child::before,.fd-route:not(.fd-route--mini) > li:last-child::after{bottom: 50%;inset-inline-end: auto}.fd-route:not(.fd-route--mini) > li::after{background: linear-gradient(180deg,var(--brand),var(--signal));transform-origin: top center}.fd-route:not(.fd-route--mini) > .is-flight::before,.fd-route:not(.fd-route--mini) > .is-flight::after{background: repeating-linear-gradient(180deg,var(--gold-500) 0 6px,transparent 6px 12px)}.fd-route:not(.fd-route--mini) .fd-node{margin: 8px}.fd-route:not(.fd-route--mini) .fd-stop-k{margin-inline-start: auto}.fd-days::before,.fd-days::after{inset-inline-start: 19px}.fd-day{grid-template-columns: 40px minmax(0,1fr);gap: 10px}.fd-day-mark{width: 40px;height: 40px;border-radius: 13px;font-size: 15px;margin-top: 10px}.fd-day-d > summary{padding: 16px 52px 16px 16px}.fd-day-tog{top: 16px;inset-inline-end: 12px}.fd-day-body{padding: 16px 16px 18px}.fd-dates{gap: 10px}.fd-date{padding: 16px 14px 14px}.fd-anyday{flex-direction: column;align-items: flex-start}}@media (pointer: coarse){.fd-day-d > summary{min-height: 44px}.fd-sum-mail,.fd-cal-b > a{min-height: 44px;display: flex;align-items: center}}html.fx-on .fd-hero .fd-hero-tags,html.fx-on .fd-hero .fd-lead,html.fx-on .fd-hero .fd-ctas,html.fx-on .fd-hero .fd-facts{animation: heroIn 800ms var(--ease-out) both}html.fx-on .fd-hero h1{animation: heroRise 800ms var(--ease-out) both}html.fx-on .fd-hero .fd-lead{animation-delay: 90ms}html.fx-on .fd-hero .fd-ctas{animation-delay: 170ms}html.fx-on .fd-hero .fd-facts{animation-delay: 260ms}html.fx-on .fd-rv{transition: opacity 650ms var(--ease-out),translate 750ms var(--ease-out);transition-delay: calc(var(--fd-i,0) * 70ms)}html.fx-on .fd-rv:not(.fd-in){opacity: 0;translate: 0 24px}html.fx-on .fd-route > li::after{transition: transform 520ms linear;transition-delay: calc(var(--fd-i,0) * 420ms + 150ms)}html.fx-on .fd-route:not(.fd-in) > li::after{transform: scaleX(0)}@media (max-width: 760px){html.fx-on .fd-route:not(.fd-route--mini):not(.fd-in) > li::after{transform: scaleY(0)}}html.fx-on .fd-route .fd-node,html.fx-on .fd-route .fd-hop-ic{transition: scale 500ms var(--ease-spring);transition-delay: calc(var(--fd-i,0) * 420ms)}html.fx-on .fd-route > li > span:not(.fd-node):not(.fd-hop-ic){transition: opacity 500ms var(--ease-out),translate 600ms var(--ease-out);transition-delay: calc(var(--fd-i,0) * 420ms + 120ms)}html.fx-on .fd-route:not(.fd-in) .fd-node,html.fx-on .fd-route:not(.fd-in) .fd-hop-ic{scale: 0}html.fx-on .fd-route:not(.fd-in) > li > span:not(.fd-node):not(.fd-hop-ic){opacity: 0;translate: 0 8px}html.fx-on .fd-days.fd-rail::after{transform: scaleY(var(--fd-p,0));transition: transform 120ms linear}html.fx-on .fd-day-d[open] .fd-day-body{animation: fdOpen 450ms var(--ease-out) both}@keyframes fdOpen{from{opacity: 0;translate: 0 -8px}to{opacity: 1;translate: 0 0}}html.fx-on .fd-pulse::after{content: "";position: absolute;inset: -4px;border-radius: 50%;border: 2px solid var(--signal);animation: fdPulse 2s var(--ease-out) infinite}@keyframes fdPulse{from{opacity: 0.9;scale: 0.5}to{opacity: 0;scale: 1.8}}html.fx-on .fd-pcard-media img{scale: 1.08;transition: scale 1200ms var(--ease-out),transform 1000ms var(--ease-out)}html.fx-on .fd-pcard.fd-in .fd-pcard-media img{scale: 1}.pure-nz{padding-top: clamp(24px,4vw,56px);padding-bottom: clamp(24px,4vw,56px)}.pure-card{display: grid;grid-template-columns: minmax(0,0.9fr) minmax(0,1.1fr);gap: clamp(24px,4vw,64px);align-items: center;padding: clamp(28px,4vw,56px);border: 1px solid var(--border);border-radius: var(--radius-xl);background: radial-gradient(120% 140% at 0% 0%,rgba(186,112,134,0.1),transparent 55%),var(--surface-raised)}.pure-logo{width: 100%;max-width: 440px;height: auto;justify-self: center;filter: drop-shadow(0 12px 30px rgba(0,0,0,0.45))}.pure-copy{display: flex;flex-direction: column;gap: 16px;align-items: flex-start}.pure-copy h2{margin: 0}.pure-copy p{margin: 0;max-width: 56ch}@media (max-width: 860px){.pure-card{grid-template-columns: 1fr}.pure-logo{max-width: 320px}}html.fx-on .pure-logo{transition: transform 700ms var(--ease-out)}@media (hover: hover){html.fx-on .pure-card:hover .pure-logo{transform: scale(1.03)}}.fd-price{display: inline-flex;align-items: baseline;gap: 6px;font-variant-numeric: tabular-nums}.fd-price-c{font-family: var(--font-tech);font-weight: 700;font-size: 0.78em;letter-spacing: 0.06em;color: var(--text-muted)}.fd-price-n{font-family: var(--font-display);font-weight: 800;letter-spacing: -0.02em;color: var(--text-strong);font-size: 1.15em}.fd-date-pr{display: flex;align-items: baseline;gap: 8px;font-size: 13.5px;line-height: 1.45;color: var(--text-muted)}.fd-date-pr .fd-price-n{font-size: 22px;color: var(--signal)}.fd-sum dd .fd-price-n,.fd-fact dd .fd-price-n{color: var(--signal)}.ex-mono{font-family: var(--font-mono);letter-spacing: 0.02em}.rep-cta-row{display: flex;flex-wrap: wrap;gap: 12px;margin-top: 22px}.rep-note{max-width: 820px;margin: 14px 0 0;padding-inline-start: 14px;border-inline-start: 3px solid var(--gold-400);font-size: 14px;line-height: 1.6;color: var(--text-muted)}.rep-steps{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fit,minmax(190px,1fr));gap: 16px}.rep-steps li{background: var(--surface-card);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 20px}.rep-steps .n{font-family: var(--font-tech);font-weight: 700;font-size: 12px;letter-spacing: .08em;color: var(--gold-text)}.rep-steps h3{margin: 8px 0 6px;font-size: 18px}.rep-steps p{margin: 0;font-size: 14.5px;line-height: 1.55;color: var(--text-body)}.season-table.rep-ex{min-width: 0}.rep-rules{margin: 20px 0 0;padding-inline-start: 1.1em;display: grid;gap: 10px;max-width: 860px}.rep-rules li{line-height: 1.6;color: var(--text-body)}.rep-rules strong{color: var(--text-strong)}.rep-links{display: flex;flex-wrap: wrap;gap: 8px 18px;margin-top: 8px;font-size: 14px}.rep-muted{margin: 0;font-size: 14px;line-height: 1.6;color: var(--text-muted)}.rep-foot{margin-top: 22px;font-size: 13.5px;color: var(--text-muted)}.rep-app{max-width: 900px}.rep-app [hidden]{display: none !important}.rep-app input[type=email],.rep-app input[type=tel],.rep-app input[type=url],.rep-app input[name=code],.rep-app input[name=reference]{direction: ltr}[dir=rtl] .rep-app input[type=email],[dir=rtl] .rep-app input[type=tel],[dir=rtl] .rep-app input[type=url]{text-align: right}.rep-card{background: var(--surface-card);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 24px;margin-bottom: 18px}.rep-card h2{margin: 0 0 6px;font-size: 22px}.rep-card > p + p{margin-top: 10px}.rep-stage .form-grid + .form-grid{margin-top: 0}.rep-alert{background: var(--surface-muted);border-inline-start: 3px solid var(--gold-400);padding: 12px 16px}.rep-status{display: block;min-height: 1.2em;color: var(--text-muted)}.rep-status.is-bad{color: var(--danger);font-weight: 600}.rep-status-label{margin: 0 0 6px;font-size: 18px;font-weight: 700;color: var(--brand-strong)}.rep-ref{margin: 4px 0 12px;font-size: 18px;color: var(--text-strong)}.rep-stepnav{list-style: none;margin: 0 0 10px;padding: 0;display: flex;flex-wrap: wrap;gap: 8px}.rep-stepnav button{display: inline-flex;align-items: center;gap: 8px;border: 1px solid var(--border-strong);background: var(--surface-card);border-radius: var(--radius-pill);padding: 8px 14px;font: 600 13.5px var(--font-sans);color: var(--text-body);cursor: pointer}.rep-stepnav button span{display: inline-grid;place-items: center;width: 22px;height: 22px;border-radius: 50%;background: var(--surface-muted);font-family: var(--font-mono);font-size: 12px}.rep-stepnav button[aria-current=step]{border-color: var(--signal);color: var(--text-strong)}.rep-stepnav button[aria-current=step] span{background: var(--green-600);color: #fff}.rep-save{min-height: 1.2em;margin: 0 0 12px;font-size: 12.5px;color: var(--text-muted)}.rep-app fieldset{border: 0;margin: 0;padding: 0;min-width: 0}.rep-app legend{padding: 0;margin-bottom: 6px}.rep-app legend h2{margin: 0}.rep-app [aria-invalid=true]{border-color: var(--danger) !important;box-shadow: 0 0 0 2px color-mix(in oklab,var(--danger) 20%,transparent)}.rep-label{font-size: 14px;font-weight: 700;color: var(--text-strong)}.rep-label .req{color: var(--brand-strong);margin-inline-start: 3px}.rep-checks{display: flex;flex-wrap: wrap;gap: 8px 18px;padding: 6px 0;border-radius: var(--radius-sm)}.rep-checks label,.rep-decl label{display: flex;gap: 10px;align-items: flex-start;font-size: 14.5px;line-height: 1.5;color: var(--text-body);font-weight: 400}.rep-checks input,.rep-decl input{margin-top: 3px;width: 18px;height: 18px;flex: 0 0 18px;accent-color: var(--brand)}.rep-decl{display: grid;gap: 12px}.rep-docs{list-style: none;margin: 0;padding: 0;display: grid;gap: 10px}.rep-docs li{display: grid;grid-template-columns: 1fr auto;gap: 6px 14px;align-items: center;padding: 12px 14px;border: 1px solid var(--border);border-radius: var(--radius-md);background: var(--surface-card)}.rep-docs li.has-file{border-color: var(--brand-strong)}.rep-docs li.is-missing{border-color: var(--danger)}.rep-doc-name{font-weight: 600;font-size: 14.5px;color: var(--text-strong)}.rep-doc-name .req{color: var(--brand-strong);margin-inline-start: 3px}.rep-doc-state{grid-column: 1 / -1;display: flex;flex-wrap: wrap;gap: 4px 14px;font-size: 13px;color: var(--text-muted)}.rep-doc-file{overflow-wrap: anywhere}.rep-link{background: none;border: 0;padding: 0;color: var(--text-link);text-decoration: underline;cursor: pointer;font: inherit}.rep-nav{display: flex;flex-wrap: wrap;align-items: center;gap: 12px;margin-top: 22px;padding-top: 18px;border-top: 1px solid var(--divider)}.rep-timeline,.rep-plain{margin: 0;padding-inline-start: 1.2em;display: grid;gap: 8px;color: var(--text-body)}.rep-timeline p{margin: 4px 0 0;font-size: 14px;color: var(--text-muted)}@media (max-width: 640px){.rep-card{padding: 18px}.rep-docs li{grid-template-columns: 1fr}.rep-docs input[type=file]{max-width: 100%}}.card,.answer-block,.dispatch-rail,.notice,.note-panel,.faq-list,.fold-list,.post-body .answer-lead{background-image: var(--panel-sheen);border-color: var(--panel-border);box-shadow: var(--panel-highlight)}@media (hover: hover){a.card:hover,.card.step:hover,.card.icard:hover{box-shadow: var(--panel-highlight),var(--shadow-md);border-color: var(--border-strong)}}.answer-block{background-image: radial-gradient(70% 120% at 100% 0%,rgba(178,86,115,0.10),transparent 60%),var(--panel-sheen)}.m-bento > .icard:last-child,.emergency{background: var(--panel-accent),var(--surface-raised);border: 1px solid rgba(186,112,134,0.24);box-shadow: var(--panel-highlight)}@media (hover: hover){.month-chip:hover{background: var(--brand-tint);border-color: rgba(186,112,134,0.4)}}.faq-list{background-color: var(--surface-card);border: 1px solid var(--panel-border);border-radius: var(--radius-lg);padding: 2px clamp(18px,2.6vw,34px)}.faq-list > .faq:last-child{border-bottom: 0}.fold-list{background-color: var(--surface-card);border: 1px solid var(--panel-border);border-radius: var(--radius-lg);margin-top: 0;padding: 2px clamp(16px,2.2vw,26px)}.fold-list > .fold:last-child{border-bottom: 0}.fold > summary{padding: 14px 0}.fold-body{padding: 0 0 18px}.fold-body > :last-child{margin-bottom: 0 !important}.split-body > p + .fold-list,.split-body > p + .faq-list{margin-top: 18px}.notes-band{border: 1px solid var(--panel-border);box-shadow: var(--panel-highlight)}.note-panel{margin-top: 22px;padding: clamp(20px,2.4vw,28px) clamp(20px,2.6vw,32px);background-color: var(--surface-card);border: 1px solid var(--panel-border);border-radius: var(--radius-lg)}.note-panel > *{max-width: 78ch}.note-panel > :last-child{margin-bottom: 0 !important}.note-panel ul{margin: 0;padding-inline-start: 20px}.note-panel li + li{margin-top: 6px}.note-panel li::marker{color: var(--brand-strong)}.split-sec{display: grid;grid-template-columns: minmax(0,1fr)}.split-sec > .split-head{margin-bottom: 22px}.split-sec > .split-head::after{content: "";display: block;width: 44px;height: 3px;border-radius: 3px;background: var(--brand)}.split-body{min-width: 0;max-width: 74ch}.split-body.prose-block{gap: 16px}.split-body.prose-block > h3{margin: 14px 0 -6px;font-size: clamp(1.1rem,1rem + 0.35vw,1.3rem)}.split-body.prose-block > h3:first-child{margin-top: 0}.split-body > :first-child{margin-top: 0 !important}.split-body > :last-child{margin-bottom: 0 !important}.split-sec > .split-after,.split-sec > :not(.split-head):not(.split-body){margin-top: 28px}@media (min-width: 1101px){.split-sec{grid-template-columns: minmax(0,5fr) minmax(0,7fr);column-gap: clamp(48px,5.5vw,104px);align-items: start}.split-sec > .split-head{grid-column: 1;grid-row: 1;margin-bottom: 0;max-width: none;position: sticky;top: calc(var(--header-stick) + 96px)}.split-sec > .split-head h2{font-size: clamp(1.7rem,1.05rem + 1.15vw,2.35rem)}.split-sec > .split-body{grid-column: 2;grid-row: 1}.split-sec > :not(.split-head):not(.split-body){grid-column: 1 / -1;margin-top: 40px}.split-body > p,.split-body.prose-block > p,.post-body > p,.legal-prose p{text-align: justify;text-align-last: start;-webkit-hyphens: auto;hyphens: auto;hyphenate-limit-chars: 7 3 3}}@media (min-width: 901px){.split-21 > .card:last-child,.split-21 > aside:last-child{position: sticky;top: calc(var(--header-stick) + 96px)}}.page-head .lede + .answer-block{margin-top: clamp(44px,5vw,68px)}[data-region-item] > .container > h2{font-size: clamp(1.6rem,1.2rem + 1.4vw,2.3rem);margin-bottom: 20px !important}.grid > .icard:only-child{display: grid;grid-template-columns: auto minmax(0,1fr);column-gap: 18px;align-items: center}.grid > .icard:only-child > .tile{grid-row: span 2;margin: 0 !important}.grid > .icard:only-child > h3{margin: 0 0 4px;align-self: end}.grid > .icard:only-child > p{align-self: start}@media (min-width: 1101px){.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not([style*="grid-template-columns"]):has(> :nth-child(4n+10):last-child) > :is(:last-child,:nth-last-child(2)){grid-column: span 2}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not([style*="grid-template-columns"]):has(> :nth-child(7):last-child,> :nth-child(11):last-child){grid-template-columns: repeat(12,minmax(0,1fr))}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not([style*="grid-template-columns"]):has(> :nth-child(7):last-child,> :nth-child(11):last-child) > *{grid-column: span 3}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not([style*="grid-template-columns"]):has(> :nth-child(7):last-child,> :nth-child(11):last-child) > :nth-last-child(-n+3){grid-column: span 4}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not([style*="grid-template-columns"]):has(> :nth-child(5):last-child){grid-template-columns: repeat(6,minmax(0,1fr))}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not([style*="grid-template-columns"]):has(> :nth-child(5):last-child) > *{grid-column: span 2}.grid:is(.g3,.g4,.gfit-210,.gfit-230,.gfit-270,.gfit-280,.gfit-290,.gfit-300,.gfill-230,.gfill-250,.gfill-280):not([style*="grid-template-columns"]):has(> :nth-child(5):last-child) > :nth-child(n+4){grid-column: span 3}}.fd-page ol + .fd-p{margin-top: 28px}@media (max-width: 760px){.faq-list{padding: 0 18px}.faq summary{padding: 20px 0}.fold-list{padding: 0 16px}.note-panel{padding: 20px}}.wafu-mark{font-family: var(--font-serif);font-size: clamp(38px,7vw,60px);line-height: 1;color: #fff;letter-spacing: 0.04em}.discover{position: relative;overflow: hidden;border-radius: var(--radius-2xl);border: 1px solid var(--border);background: var(--surface-card);display: grid;grid-template-columns: 1.25fr 1fr;align-items: stretch}.discover-copy{padding: clamp(26px,3.4vw,44px);display: flex;flex-direction: column;gap: 16px}.discover-copy h2{margin: 0;font-size: clamp(1.6rem,1.3rem + 1.2vw,2.2rem)}.discover-copy > p{margin: 0;font-size: 15.5px;line-height: 1.65;color: var(--text-body);text-align: start}.discover-items{display: grid;grid-template-columns: 1fr 1fr;gap: 10px}.discover-items > div{display: flex;align-items: center;gap: 10px}.discover-items .tile{width: 34px;height: 34px;border-radius: var(--radius-sm)}.discover-items span:last-child{font-size: 14px;font-weight: 600;color: var(--text-strong)}.discover-media{position: relative;min-height: 320px}.discover-media img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.discover-media .ovr{position: absolute;inset: 0;background: linear-gradient(90deg,rgba(14,7,12,0.35),transparent 45%)}.hbrand-chip{position: absolute;top: 12px;left: 14px;width: 26px;height: 19px;border-radius: 4px;background: linear-gradient(135deg,#f1d99a,#c9a24e 55%,#e8cd86);box-shadow: inset 0 0 0 1px rgba(120,86,20,0.35)}.hbrand-chip::before{content: "";position: absolute;inset: 4px 7px;border: 1px solid rgba(120,86,20,0.45);border-radius: 2px;border-left: 0;border-right: 0}[dir="rtl"] .hbrand-chip{left: auto;right: 14px}h1,h2,h3,.mh-h{-webkit-hyphens: auto;hyphens: auto;overflow-wrap: break-word}@keyframes ih-ring{0%{transform: rotate(0)}20%{transform: rotate(-15deg)}40%{transform: rotate(15deg)}60%{transform: rotate(-10deg)}80%{transform: rotate(10deg)}100%{transform: rotate(0)}}@keyframes ih-nudge{0%,100%{transform: translate(0,0)}50%{transform: translate(2px,2px)}}@keyframes ih-pop{0%,100%{transform: scale(1)}50%{transform: scale(1.14)}}@media (prefers-reduced-motion: no-preference){.wa-dock:is(:hover,:focus-visible) svg{animation: ih-ring 400ms ease-in-out;transform-origin: 50% 50%}.copy-btn:is(:hover,:focus-visible) svg rect{animation: ih-nudge 300ms ease-in-out;transform-box: fill-box}.scard:is(:hover,:focus-visible) .tile svg{animation: ih-pop 420ms ease-out;transform-origin: 50% 50%}}.post-body .post-lede{margin-top: 0}.city-hero .tagline .post-updated{display: inline}@media (max-width: 900px){.discover{grid-template-columns: 1fr}}@media (max-width: 480px){.discover-items{grid-template-columns: 1fr}}@media (min-width: 1101px){.m-bento > .icard:last-child:nth-child(6){grid-column: 1 / -1}}.page-head.fj-photo-head.fj-bg-tokyo::before{inset: 0;width: auto;height: auto;right: 0;top: 0;border-radius: 0;filter: none;background: var(--ink-800) url('https://img.magnific.com/free-photo/japan-tokyo-aerial-night_335224-156.jpg') center 60% / cover no-repeat}.gal-4{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 10px}.gal-4 > :first-child{grid-column: span 2;grid-row: span 2}.gal-3{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 12px;border-radius: var(--radius-xl);overflow: hidden}.gal-3 > *{aspect-ratio: 4 / 3 !important}@media (max-width: 760px){.gal-4{grid-template-columns: repeat(2,minmax(0,1fr))}.gal-3{grid-template-columns: repeat(2,minmax(0,1fr))}.gal-3 > :first-child{grid-column: 1 / -1}}[dir="rtl"] .daylist{padding: 0 36px 0 0}[dir="rtl"] .daylist::before{left: auto;right: 9px}[dir="rtl"] .daylist > li::before{left: auto;right: -36px}[dir="rtl"] .more > span[aria-hidden="true"]{display: inline-block;transform: scaleX(-1)}.ctaband h2{font-size: clamp(2rem,1.1rem + 2.8vw,3.6rem)}.hbrand-logo{background: #fff;border-radius: var(--radius-sm,8px);padding: 6px 12px;height: 56px}.hcoll-card .hbrand-logo img{max-height: 44px;max-width: 160px}.hcoll-card .hbrand-logo{align-self: flex-start;min-width: 120px}.hcoll-card{display: flex;flex-direction: column;gap: 12px;padding: 28px 26px}.hcoll-card h3,.hcoll-card p{margin: 0}.ftr-col a{min-height: 24px}@media (pointer: coarse){.menu-toggle{min-width: 44px}.hdr-logo{min-height: 44px;display: inline-flex;align-items: center}.card.channel a.v,a.more{min-height: 44px;display: inline-flex;align-items: center}}.m-intro-head h2{font-size: var(--fs-h2)}.longform > p,.longform li,.prose-block p,.faq > p,.fold-body > p,.fold-body li{max-width: var(--maxw-prose)}:root .bpost .post-body :is(h2,h3){text-transform: none;letter-spacing: -0.025em;line-height: 1.14}:root:is(:lang(ja),:lang(zh)) :is(h1,h2,h3,h4){letter-spacing: 0;line-height: 1.24}:root:lang(ar) :is(h1,h2,h3,h4){letter-spacing: 0;line-height: 1.4}:root:is(:lang(ja),:lang(zh),:lang(ar)) :is(h1,h2,h3) em{font-family: inherit;font-style: normal;font-weight: inherit;font-size: 1em;line-height: inherit;letter-spacing: 0}:root:is(:lang(ja),:lang(zh)) :is(p,li){line-height: 1.85;letter-spacing: 0.02em}:root:lang(ar) :is(p,li){line-height: 1.85}:root:lang(ja){--font-display: 'Plus Jakarta Sans','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',YuGothic,'Noto Sans JP',Meiryo,sans-serif;--font-sans: var(--font-display);--font-tech: var(--font-display)}:root:lang(zh){--font-display: 'Plus Jakarta Sans','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',sans-serif;--font-sans: var(--font-display);--font-tech: var(--font-display)}:root:lang(ar){--font-display: 'Plus Jakarta Sans','Geeza Pro','Segoe UI','Noto Sans Arabic',Tahoma,sans-serif;--font-sans: var(--font-display);--font-tech: var(--font-display)}@media (pointer: coarse){.skip-link:focus{min-height: 44px;display: inline-flex;align-items: center;padding: 0 16px}.lang-switch > summary{min-height: 44px;padding: 0 14px}.otp-chips a,.xp-more > summary,.fold > summary{min-height: 44px}.rep-stepnav button,.rep-links a,.rep-link{min-height: 44px}.rep-links a{display: inline-flex;align-items: center}}
