.scroll-menu{position:fixed;top:calc(14px + clamp(145px,13.6vw,195px)*.212462);right:5%;z-index:100;color:#686c5c}
.scroll-menu-trigger{position:relative;display:block;width:140px;height:56px;padding:0;border:0;background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.scroll-menu-trigger:focus-visible{outline:1px solid #777e69;outline-offset:5px;border-radius:4px}
.scroll-menu-paper{display:none}
.scroll-menu-word{position:absolute;inset:0;display:grid;place-items:center;padding-left:.2em;font:12px/1 Georgia,serif;letter-spacing:.2em;transition:color .45s ease,letter-spacing .65s ease}
.scroll-menu-roller{position:absolute;top:12px;left:calc(50% - .5px);width:1px;height:32px;background:currentColor;border:0 solid currentColor;box-sizing:border-box;border-radius:0;opacity:.75;transition:opacity .45s ease,transform .85s cubic-bezier(.22,.65,.2,1),width .85s ease,left .85s ease,top .85s ease,height .85s ease,border-width .85s ease,border-radius .85s ease,background-color .65s ease}
.scroll-menu-roller:before{content:"";position:absolute;top:0;bottom:0;width:1px;background:currentColor;opacity:.55;transition:opacity .45s ease}
.scroll-menu-roller:after{content:none}
.scroll-menu-roller--left:before{left:5px}
.scroll-menu-roller--right:before{left:-5px}
.scroll-menu-roller--left{transform:translateX(-50px)}
.scroll-menu-roller--right{transform:translateX(50px)}
.scroll-menu-trigger:is(:hover,:focus-visible,[aria-expanded=true]) .scroll-menu-word{color:#414a3c;letter-spacing:.25em}
.scroll-menu-trigger:is(:hover,:focus-visible,[aria-expanded=true]) .scroll-menu-roller{opacity:1}
.scroll-menu-trigger:is(:hover,:focus-visible,[aria-expanded=true]) .scroll-menu-roller:before{opacity:.75}
.scroll-menu-trigger:is(:hover,:focus-visible,[aria-expanded=true]) .scroll-menu-roller--left{transform:translateX(-51px)}
.scroll-menu-trigger:is(:hover,:focus-visible,[aria-expanded=true]) .scroll-menu-roller--right{transform:translateX(51px)}
@media(max-width:700px){.scroll-menu{top:26.13px;right:4%}.scroll-menu-trigger{width:120px}}
@media(prefers-reduced-motion:reduce){.scroll-menu-trigger span,.scroll-menu-trigger span:before,.scroll-menu-trigger span:after{transition:none}}

/* The menu grows from the corner into a broad, unrolled sheet. */
.scroll-menu-is-open{overflow:hidden}
.scroll-menu-panel{position:fixed;inset:0;width:min(1240px,94vw);max-width:none;max-height:min(780px,88svh);margin:auto;padding:0 25px;border:0;background:transparent;color:#626958;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;opacity:1;transform:scale(1);transform-origin:95% 4%;transition:opacity .35s,transform .65s cubic-bezier(.22,.75,.24,1);isolation:isolate}
.scroll-menu-panel:not([open]){display:none}
.scroll-menu-panel::backdrop{background:#4a493c55;backdrop-filter:blur(5px)}
.scroll-menu-sheet{position:relative;min-height:530px;padding:57px 40px 36px;background:linear-gradient(90deg,#d3c4a9 0%,#eee5d5 4%,#f1e9db 48%,#eee5d5 96%,#cfbfa2);box-shadow:0 20px 60px #322c2538;box-sizing:border-box;isolation:isolate}
.scroll-menu-sheet:before{content:"";position:absolute;inset:0;z-index:-1;background:url('./assets/paper-texture.jpg') center/1100px;mix-blend-mode:multiply;opacity:.28;pointer-events:none}
.scroll-menu-heading{display:flex;align-items:center;gap:24px;margin-bottom:42px;padding-bottom:22px;border-bottom:1px solid #90967f40}
.scroll-menu-heading h2{margin:0;font:22px Georgia,serif;letter-spacing:.2em;font-weight:400}
.scroll-menu-heading>span{font-size:11px;letter-spacing:.16em;color:#919581}
.scroll-menu-close{position:absolute;top:39px;right:34px;width:40px;height:40px;border:0;background:none;color:#7b806e;font:30px/1 Georgia,serif;cursor:pointer}
.scroll-menu-close:hover{color:#424b37}.scroll-menu-close:focus-visible,.scroll-menu-columns a:focus-visible{outline:1px solid #7b806e;outline-offset:5px}
.scroll-menu-columns{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.scroll-menu-group h3{margin:0 0 25px;font-size:16px;font-weight:500;letter-spacing:.08em;white-space:nowrap}
.scroll-menu-columns a{color:inherit;text-decoration:none}.scroll-menu-columns a:hover{color:#35422c;text-decoration:none}
.scroll-menu-group ul{list-style:none;margin:0;padding:0}.scroll-menu-group li{font-size:13px;line-height:1.9;margin:0 0 12px;letter-spacing:.025em;white-space:nowrap;color:#858a79}
.scroll-menu-group li a{color:#626958}.scroll-menu-group li:before{content:'－';margin-right:3px;color:#a7aa99;font-size:10px}
.scroll-menu-group .scroll-menu-member{padding-top:12px;border-top:1px solid #90967f40;margin-top:21px;font-size:11px;color:#9a9e8c}
.scroll-menu-signature{margin:40px 0 0;font:9px Georgia,serif;letter-spacing:.2em;color:#a2a58f}
.scroll-menu-spindle{position:absolute;top:0;bottom:0;width:var(--menu-roll-width);border-radius:12% 8% 14% 7% / 45% 40% 55% 50%;background:linear-gradient(90deg,#baa98b 0%,#dfcfad 13%,#f4e8d0 36%,#f1e4c8 58%,#d8c39d 82%,#ab9472 100%);box-shadow:7px 0 17px #68563826;pointer-events:none}
.scroll-menu-spindle:before{content:"";position:absolute;left:6%;top:0;bottom:0;width:1px;background:#fff6e280;border-radius:50%}
.scroll-menu-spindle:after{content:"";position:absolute;inset:0;background:url('./assets/paper-texture.jpg') center/500px;mix-blend-mode:multiply;opacity:.28;border-radius:inherit}
.scroll-menu-spindle--left{left:8px}.scroll-menu-spindle--right{right:8px}
@media(max-width:1000px){.scroll-menu-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.scroll-menu-sheet{padding:40px 38px 30px}.scroll-menu-heading{margin-bottom:28px}.scroll-menu-close{top:25px}.scroll-menu-group h3{margin-bottom:15px}}
@media(max-width:600px){.scroll-menu-panel{width:96vw;padding:0 17px;max-height:86svh}.scroll-menu-sheet{padding:34px 24px 25px}.scroll-menu-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.scroll-menu-spindle{width:24px}.scroll-menu-spindle--left{left:5px}.scroll-menu-spindle--right{right:5px}.scroll-menu-heading{gap:12px;padding-right:18px}.scroll-menu-heading h2{font-size:18px}.scroll-menu-heading>span{font-size:9px;max-width:100px;line-height:1.8}.scroll-menu-close{right:15px;top:27px}.scroll-menu-group h3{font-size:15px}.scroll-menu-group li{font-size:12px}.scroll-menu-signature{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.scroll-menu-panel{transition:none}}
/* Vertical chapter titles, with one fan of subpages open at a time. */
.scroll-menu-columns{display:flex;justify-content:center;align-items:flex-start;gap:clamp(22px,3vw,48px);min-height:275px;padding:10px 0 0}
.scroll-menu-group{display:flex;align-items:flex-start;min-width:44px}
.scroll-menu-group h3{margin:0;width:44px;flex:none}
.scroll-menu-category{display:flex;flex-direction:column;align-items:center;gap:20px;width:44px;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.scroll-menu-category>span{writing-mode:vertical-rl;text-orientation:upright;font:400 clamp(19px,1.65vw,22px)/1.5 'Noto Serif TC',serif;letter-spacing:.23em}
.scroll-menu-category i{font:normal 24px/1 Georgia,serif;color:#9c9e89;transition:transform .45s}
.scroll-menu-category[aria-expanded=true] i{transform:rotate(180deg)}
.scroll-menu-category:hover,.scroll-menu-group.is-active .scroll-menu-category{color:#35422c}
.scroll-menu-category:focus-visible{outline:1px solid #7b806e;outline-offset:6px}
.scroll-menu-group ul{display:flex;align-items:flex-start;gap:13px;max-width:0;max-height:280px;padding:0;margin:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateX(-7px);transition:max-width .6s cubic-bezier(.22,.75,.24,1),opacity .35s,transform .5s,margin .5s,padding .5s,visibility .35s;border-left:1px solid transparent}
.scroll-menu-group.is-active ul{max-width:265px;opacity:1;visibility:visible;transform:translateX(0);margin-left:14px;padding:6px 0 8px 16px;border-left-width:.5px;border-left-color:#a7aa9955}
.scroll-menu-group li{writing-mode:vertical-rl;text-orientation:upright;flex:none;margin:0;font-size:15px;line-height:1.6;letter-spacing:.13em;color:#7d8470;white-space:nowrap}
.scroll-menu-group li:before{content:none}
.scroll-menu-group .scroll-menu-member{border:0;border-right:1px solid #90967f40;padding:0 10px 0 0;margin:0 0 0 3px;font-size:12px}
.scroll-menu-signature{margin-top:25px}
@media(max-width:1000px){.scroll-menu-columns{gap:15px}.scroll-menu-category>span{font-size:20px}.scroll-menu-group ul{gap:9px}.scroll-menu-group li{font-size:14px}.scroll-menu-group.is-active ul{margin-left:7px;padding-left:9px}.scroll-menu-sheet{padding-left:28px;padding-right:28px}}
@media(max-width:700px){.scroll-menu-columns{flex-wrap:wrap;justify-content:flex-start;gap:28px 16px}.scroll-menu-group{min-height:185px}.scroll-menu-group:has(~.is-active),.scroll-menu-group.is-active~.scroll-menu-group{opacity:.65}.scroll-menu-category>span{font-size:19px}.scroll-menu-group.is-active ul{max-width:210px}.scroll-menu-group li{font-size:13px}.scroll-menu-sheet{padding-left:22px;padding-right:22px}.scroll-menu-group ul{max-height:250px}.scroll-menu-group .scroll-menu-member{font-size:10px;padding-right:6px}.scroll-menu-group ul{gap:7px}}
@media(prefers-reduced-motion:reduce){.scroll-menu-group ul,.scroll-menu-category i{transition:none}}

/* Full-screen paper opens from the right edge toward the left. */
@property --menu-unroll{syntax:'<number>';inherits:true;initial-value:1}
.scroll-menu-panel{inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:none;margin:0;padding:0;transform:none;transition:none;--menu-unroll:1;--menu-roll-width:clamp(42px,4vw,64px)}
.scroll-menu-panel[open]{animation:menu-paper-unroll 1.45s cubic-bezier(.22,.65,.2,1) both}
.scroll-menu-panel::backdrop{animation:menu-backdrop-in .65s ease both}
.scroll-menu-sheet{min-height:100%;padding:clamp(80px,10svh,110px) clamp(38px,7vw,130px) 60px;display:flex;flex-direction:column;box-shadow:none;clip-path:inset(0 0 0 calc((1 - var(--menu-unroll))*100%));will-change:clip-path}
.scroll-menu-sheet:after{content:"";position:absolute;left:0;right:0;bottom:0;height:48svh;z-index:-1;background:url('./assets/scroll/wuhu-ink-wash-custom.jpg') center 65%/cover no-repeat;mix-blend-mode:multiply;opacity:.12;mask-image:linear-gradient(to bottom,transparent,#000 65%);pointer-events:none}
.scroll-menu-columns{flex:1;align-items:flex-start;justify-content:center;gap:clamp(48px,5vw,96px);padding-top:clamp(80px,16svh,180px);padding-bottom:40px}
.scroll-menu-columns:has(.is-active){column-gap:clamp(22px,3vw,48px)}
.scroll-menu-category>span{font-size:clamp(25px,2vw,30px)}
.scroll-menu-group li{font-size:18px}
.scroll-menu-spindle{top:0;bottom:0;width:var(--menu-roll-width)}
.scroll-menu-spindle--left{left:calc((100% - var(--menu-roll-width))*(1 - var(--menu-unroll)));right:auto}
.scroll-menu-spindle--right{right:0;left:auto;transform:scaleX(-1)}
.scroll-menu-close{top:24px;right:clamp(40px,5vw,90px);width:44px;height:44px;z-index:5;color:#85877e;font-size:32px;line-height:1;text-shadow:none}
.scroll-menu-close:hover{color:#696c63;opacity:1}
.scroll-menu-close:focus-visible{outline-color:#85877e}
.scroll-menu-panel[open] .scroll-menu-heading,.scroll-menu-panel[open] .scroll-menu-columns{animation:menu-ink-appear .65s .85s ease both}
.scroll-menu-panel[open] .scroll-menu-close{animation:menu-ink-appear .45s .35s ease both}
@keyframes menu-paper-unroll{from{--menu-unroll:0}to{--menu-unroll:1}}
@keyframes menu-ink-appear{from{opacity:0;visibility:hidden;transform:translateY(5px)}to{opacity:1;visibility:visible;transform:translateY(0)}}
@keyframes menu-backdrop-in{from{background:#4a493c00;backdrop-filter:blur(0)}to{background:#4a493c55;backdrop-filter:blur(5px)}}
@media(max-width:700px){.scroll-menu-columns{align-items:flex-start;align-content:flex-start;gap:30px 32px;padding-top:45px}.scroll-menu-category>span{font-size:23px}.scroll-menu-group li{font-size:15px}.scroll-menu-group{min-height:230px}.scroll-menu-sheet:after{height:38svh;opacity:.1}}
@media(max-width:600px){.scroll-menu-panel{width:100vw;max-height:none;padding:0;--menu-roll-width:28px}.scroll-menu-sheet{padding:88px 36px 35px}.scroll-menu-spindle--right{right:0}.scroll-menu-close{top:20px;right:30px}}
@media(prefers-reduced-motion:reduce){.scroll-menu-panel[open],.scroll-menu-panel::backdrop,.scroll-menu-panel[open] .scroll-menu-heading,.scroll-menu-panel[open] .scroll-menu-columns,.scroll-menu-panel[open] .scroll-menu-close{animation-duration:1ms;animation-delay:0s}}

/* Match the homepage logo's coordinates, size and original colours. */
.scroll-menu-sheet{padding-top:calc(clamp(80px,10svh,110px) + 91px)}
.scroll-menu-heading{position:absolute;top:42px;left:6%;right:6%;width:auto;display:block;margin:0;padding:0 0 64px;border:0;border-bottom:1px solid #90967f66}
.scroll-menu-heading h2{width:clamp(145px,13.6vw,195px);margin:0;line-height:0;letter-spacing:0}
.scroll-menu-logo{display:block;width:100%;height:auto}
@media(max-width:700px){.scroll-menu-heading{top:28px;padding-bottom:44px}.scroll-menu-heading h2{width:123px}.scroll-menu-sheet{padding-top:159px}}

/* Carry the two MENU side lines into the modal and fold them into a cross. */
.scroll-menu-close span{display:none}
.scroll-menu-close:before,.scroll-menu-close:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:32px;background:currentColor;transform-origin:center}
.scroll-menu-close:before{transform:translate(-50%,-50%) rotate(72deg)}
.scroll-menu-close:after{transform:translate(-50%,-50%) rotate(-72deg)}
.scroll-menu-panel[open] .scroll-menu-close{animation:none}
.scroll-menu-panel[open] .scroll-menu-close:before{animation:menu-left-line-to-cross .95s cubic-bezier(.22,.65,.2,1) both}
.scroll-menu-panel[open] .scroll-menu-close:after{animation:menu-right-line-to-cross .95s cubic-bezier(.22,.65,.2,1) both}
@keyframes menu-left-line-to-cross{0%{transform:translate(calc(-50% + var(--close-left-x, -50px)),calc(-50% + var(--close-left-y, 0px))) rotate(0);height:32px;background:#686c5c}45%{transform:translate(-50%,-50%) rotate(0);height:28px}100%{transform:translate(-50%,-50%) rotate(72deg);height:32px;background:#85877e}}
@keyframes menu-right-line-to-cross{0%{transform:translate(calc(-50% + var(--close-right-x, 50px)),calc(-50% + var(--close-right-y, 0px))) rotate(0);height:32px;background:#686c5c}45%{transform:translate(-50%,-50%) rotate(0);height:28px}100%{transform:translate(-50%,-50%) rotate(-72deg);height:32px;background:#85877e}}
@media(prefers-reduced-motion:reduce){.scroll-menu-panel[open] .scroll-menu-close:before,.scroll-menu-panel[open] .scroll-menu-close:after{animation:none}}
/* Keep the close icon centered at the same coordinates as the MENU trigger. */
.scroll-menu-close{top:calc(20px + clamp(145px,13.6vw,195px)*.212462);right:calc(5% + 48px)}
@media(max-width:700px){.scroll-menu-close{top:32.13px;right:calc(4% + 38px)}}
/* A quiet six-sided light remains within reach at the lower right corner. */
.floating-contact{position:fixed;right:clamp(20px,3vw,48px);bottom:clamp(22px,4svh,42px);z-index:90;display:flex;align-items:center;gap:14px;color:#555e49;text-decoration:none;isolation:isolate}
.floating-contact__orb{position:relative;display:grid;place-items:center;width:64px;height:64px;filter:drop-shadow(0 0 10px #f1d99799);transition:transform .55s cubic-bezier(.22,.65,.2,1),filter .55s}
.floating-contact__orb:before{content:"";position:absolute;inset:3px;z-index:-1;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:radial-gradient(circle at 40% 35%,#fffdf0,#e9dcb3d9 58%,#a4ad86c9);animation:contact-orb-glow 3.5s ease-in-out infinite}
.floating-contact__orb svg{width:100%;height:100%;position:relative}
.floating-contact__label{padding:9px 15px;border:1px solid #b3b69a66;border-radius:3px;background:#f3eddeed;box-shadow:0 3px 18px #423f2810;font:400 14px/1.5 WuhuVertical,"Noto Serif TC",serif;letter-spacing:.15em;opacity:0;visibility:hidden;transform:translateX(14px);transition:opacity .4s,transform .5s cubic-bezier(.22,.65,.2,1),visibility .4s;pointer-events:none}
.floating-contact:is(:hover,:focus-visible) .floating-contact__orb{transform:translateY(-6px) scale(1.08);filter:drop-shadow(0 0 17px #efd38ac9)}
.floating-contact:is(:hover,:focus-visible) .floating-contact__label{opacity:1;visibility:visible;transform:translateX(0)}
.floating-contact:focus-visible{outline:1px solid #747e60;outline-offset:6px;border-radius:5px}
.scroll-menu-is-open .floating-contact{visibility:hidden}
@keyframes contact-orb-glow{0%,100%{opacity:.8}50%{opacity:1}}
@media(max-width:700px){.floating-contact{right:18px;bottom:calc(20px + env(safe-area-inset-bottom));gap:10px}.floating-contact__orb{width:54px;height:54px}.floating-contact__label{font-size:13px}}
@media(prefers-reduced-motion:reduce){.floating-contact__orb:before{animation:none}.floating-contact__orb,.floating-contact__label{transition:none}}
/* A luminous core and diffuse golden halo echo the lights in the valleys. */
.floating-contact__orb{filter:drop-shadow(0 0 17px #ffe58db3);color:#756f49}
.floating-contact__orb:before{inset:9px;background:radial-gradient(circle at 43% 40%,#fffde2 0%,#fff4b8 35%,#ffe18bbb 67%,#edc76655 100%);animation:contact-orb-glow 3.5s ease-in-out infinite}
.floating-contact__orb:after{content:"";position:absolute;inset:-12px;z-index:-2;border-radius:50%;background:radial-gradient(circle,#fff4b5cc 0%,#ffe58d85 32%,#efd68c30 57%,transparent 74%);filter:blur(8px);pointer-events:none;animation:contact-orb-halo 3.5s ease-in-out infinite}
.floating-contact__orb svg>path:first-child{stroke-opacity:.25}
.floating-contact:is(:hover,:focus-visible) .floating-contact__orb{filter:drop-shadow(0 0 24px #ffe58de6)}
@keyframes contact-orb-halo{0%,100%{opacity:.7;transform:scale(.94)}50%{opacity:1;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.floating-contact__orb:after{animation:none}}
/* The corner light stays partly beyond the viewport, without an icon or frame. */
.floating-contact{right:-26px;bottom:-26px;gap:4px;min-width:88px;min-height:88px}
.floating-contact__orb{width:88px;height:88px;filter:none}
.floating-contact__orb:before{inset:10px;border-radius:50%;clip-path:none;background:radial-gradient(circle,#fff8c2 0%,#ffed9cbb 36%,#f4d97b50 62%,transparent 78%);filter:blur(9px)}
.floating-contact__orb:after{inset:-10px;filter:blur(14px);opacity:.7}
.floating-contact:is(:hover,:focus-visible) .floating-contact__orb{transform:translate(-4px,-4px);filter:none}
.floating-contact__label{margin-bottom:24px}
@media(max-width:700px){.floating-contact{right:-26px;bottom:-26px}.floating-contact__orb{width:88px;height:88px}}

/* Restore the vertical menu with a clean right-to-left sheet reveal. */
.scroll-menu-panel{background:#efe8da}
.scroll-menu-spindle{display:none}
.scroll-menu-panel[open]{animation:menu-clean-reveal 1.1s cubic-bezier(.22,.65,.2,1) both}
.scroll-menu-sheet{clip-path:none;will-change:auto}
@keyframes menu-clean-reveal{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.scroll-menu-panel[open]{animation:none}}
/* Frost the actual opening scene; navigation remains crisp above the glass. */
.scroll-menu-panel{background:transparent}
.scroll-menu-sheet{background:#f3f1e31a}
.scroll-menu-sheet:before,.scroll-menu-sheet:after{display:none}
.scroll-menu-panel::backdrop{background:#eeeadb73;backdrop-filter:blur(18px);animation:none}
.scroll-menu-heading{border-bottom-color:#737b6450}
@media(prefers-reduced-transparency:reduce){.scroll-menu-sheet{background:#eeeadbed}.scroll-menu-panel::backdrop{backdrop-filter:none}}
/* A complete round lantern carries its label within the light. */
.floating-contact{right:24px;bottom:24px;min-width:100px;min-height:100px;gap:0;border-radius:50%}
.floating-contact__orb{width:100px;height:100px;border-radius:50%;isolation:isolate}
.floating-contact__orb:before{inset:3px;border-radius:50%;clip-path:none;background:radial-gradient(circle,#fff8c7 0%,#fff0aacc 42%,#f4d97b66 66%,transparent 80%);filter:blur(6px)}
.floating-contact__orb:after{inset:-12px;background:radial-gradient(circle,#fff1aa99 0%,#ffe58d66 38%,#efd68c22 60%,transparent 75%);filter:blur(10px)}
.floating-contact__text{position:relative;z-index:1;font:400 21px/1.65 WuhuVertical,"Noto Serif TC",serif;letter-spacing:.2em;padding-left:.2em;text-align:center;color:#888166;text-shadow:0 1px 6px #fff8dc80}
.floating-contact:is(:hover,:focus-visible) .floating-contact__orb{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 0 12px #ffe58d80)}
@media(max-width:700px){.floating-contact{right:14px;bottom:calc(16px + env(safe-area-inset-bottom));min-width:82px;min-height:82px}.floating-contact__orb{width:82px;height:82px}.floating-contact__text{font-size:18px}}
/* White light with a smaller, quieter label. */
.floating-contact__orb:before{background:radial-gradient(circle,#ffffff 0%,#fffffff0 40%,#f5f7ef99 65%,transparent 82%)}
.floating-contact__orb:after{background:radial-gradient(circle,#ffffffcc 0%,#ffffff80 38%,#eef3ee30 60%,transparent 76%)}
.floating-contact__text{font-size:17px;text-shadow:0 1px 6px #ffffffb3}
.floating-contact:is(:hover,:focus-visible) .floating-contact__orb{filter:drop-shadow(0 0 12px #ffffff99)}
@media(max-width:700px){.floating-contact__text{font-size:15px}}
/* Scale the corner light, halo and lettering together. */
.floating-contact{transform:scale(.85);transform-origin:bottom right}
body:has(.brand-spaces-journey) .floating-contact{transition:opacity .5s ease,visibility .5s ease}
body:has(.brand-spaces-journey) .floating-contact:not(.is-visible){opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){body:has(.brand-spaces-journey) .floating-contact{transition:none}}
