/* Optical dispersion finish. Narrow spectrum on glass, staggered soft caustics.
   Deliberately visual only: original layouts and interaction code are retained. */
@media screen {
 :root{
  --prism-edge:linear-gradient(118deg,#f2eadcab 0%,#ffc56bad 4%,#ff926385 8%,#ff5145b8 11%,#b099ffda 15%,#77bcffc7 19%,#86eed39c 23%,#d1e0ea26 31%,#d1e0ea1c 65%,#b596ffb0 79%,#71ddf0c7 84%,#a7e9bbb0 88%,#ffcf879e 93%,#f2eadc82 100%);
  --prism-edge-soft:linear-gradient(125deg,#e5c49973,#ff514560 5%,#b591fd85 10%,#65d8ed80 16%,#8ddbb452 22%,#a8bcc528 32%,#bbc3d01c 70%,#a191ee64 86%,#dfb29e60 95%,#e3dccb70);
  --prism-rim:inset 1px 0 0 #80dcf457,inset -1px 0 0 #b598f757,inset 0 1px 0 #ffdbc670,inset 0 -1px 0 #77cbdc33;
 }
 /* All enabled controls carry a fine spectral reflection, including icon controls.
    Pseudo-elements are not used here: existing date dots and icons are preserved. */
 body :is(button,.btn,.dock-cta,.round-link,.service-modules__links a,.availability-day):not(:disabled):not([aria-disabled=true]){
  box-shadow:0 3px 7px #0007,0 9px 21px -8px #000b,var(--prism-rim)!important;
 }
 body :is(button,.btn,.dock-cta,.round-link,.service-modules__links a,.availability-day):not(:disabled):not([aria-disabled=true]):hover{
  box-shadow:0 4px 10px #0007,0 12px 28px -9px #000b,inset 1px 0 0 #72def8aa,inset -1px 0 0 #bb9dfc9c,inset 0 1px 0 #ffe0b5b0,inset 0 -1px 0 #e84a3575,0 0 15px #949fff14!important;
 }
 body :is(button,.btn,.dock-cta,.round-link):not(:disabled):active{
  box-shadow:inset 0 2px 6px #0006,inset 1px 0 0 #74d9efa1,inset -1px 0 0 #bc94e78c,inset 0 -1px 0 #e8cda666!important;
 }
 /* The principal buttons get readable pearl glass with actual spectral material. */
 body :is(.btn,.dock-cta,.round-link){position:relative;isolation:isolate}
 body :is(.btn,.dock-cta,.round-link)::before{
  content:"";position:absolute;inset:-1px;padding:1.35px;border-radius:inherit;
  background:var(--prism-edge);pointer-events:none;z-index:1;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.88;transition:opacity .3s ease;
 }
 body :is(.btn,.dock-cta,.round-link):hover::before{opacity:1}
 body :is(.btn-primary,.btn-ink,.dock-cta),body :is(.btn-primary,.btn-ink,.dock-cta):hover{
  background:
   radial-gradient(ellipse at -8% 125%,#ed62438f 0%,#b2a5ee6e 19%,#93d5e444 34%,transparent 54%),
   radial-gradient(ellipse at 105% -10%,#e5bd8973 0%,#f6e8d852 28%,transparent 54%),
   linear-gradient(155deg,#ffffffe0,transparent 49%,#bbc8ed45 72%,#e6b5a44d 100%),
   linear-gradient(#f0f0ed,#d4d7dd);
  color:#101319;border-color:#edf0f3b8;text-shadow:0 1px 0 #ffffff66;
 }
 body :is(.btn-secondary,.round-link),body :is(.btn-secondary,.round-link):hover{
  background:
   radial-gradient(ellipse at 3% 125%,#8261e536,transparent 55%),
   radial-gradient(ellipse at 98% -20%,#48bccd30,transparent 50%),
   linear-gradient(135deg,#ffffff13,transparent 45%),#151a22;
  color:#eef0f4;border-color:#bac6dc47;
 }
 .site-nav>a:not(.btn)::after{height:1.5px;background:linear-gradient(90deg,#ffc976a8,#ff5145,#a29aff,#72d6e6,#bde2a7a8)}
 .site-header,.site-header.scrolled,.conversion-dock{
  background:radial-gradient(ellipse at 8% 0%,#9975df19,transparent 34%),radial-gradient(ellipse at 92% 120%,#57c7d41a,transparent 32%),linear-gradient(150deg,#ffffff14,transparent 48%),#10151ded;
  box-shadow:0 6px 18px #0006,0 20px 44px #0006,var(--prism-rim);
 }
 .site-header::before,.site-header.scrolled::before{
  padding:1.4px;background:var(--prism-edge);opacity:.95;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
 }
 .glass::after{
  background:radial-gradient(ellipse 160px 58px at var(--gx,12%) var(--gy,0%),#a990ee21,transparent 72%),radial-gradient(ellipse at 95% 115%,#60cad218,transparent 48%);
  box-shadow:inset 1px 0 0 #8ce1e366,inset -1px 0 0 #c7a5e75c;opacity:1;
 }
 /* Ambient light belongs to the page, so it never exposes section rectangles. */
 main{position:relative;isolation:isolate}
 main::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 560px 330px at 94% 17%,#8470d817,transparent 74%),radial-gradient(ellipse 580px 360px at 7% 38%,#57b8d00e,transparent 75%),radial-gradient(ellipse 530px 320px at 90% 63%,#db65490b,transparent 77%),radial-gradient(ellipse 620px 390px at 11% 84%,#9186dd12,transparent 75%)}
 .brand-promise{
  background:radial-gradient(ellipse at 6% 100%,#e6a45417,transparent 36%),radial-gradient(ellipse at 53% 0%,#8072dd20,transparent 45%),radial-gradient(ellipse at 95% 85%,#48c4d719,transparent 36%),#0d1016;
  border-top:1px solid #a895ce30;border-bottom-color:#78becb33;
 }
 .brand-promise-line>span:last-child{text-decoration-color:#b7b3ec}
 /* Surface reflections stay behind the copy, with several offset spectrum bands. */
 body :is(.premium-offer,.package,.service-outcome,.audit-card,.contact-form,.company-metric,.services-project-image,.offer-product-view,.phone-stage,.system-stage,.search-stage,.contact-band,.free-call-strip,.direct-build){
  --prism-card-x:102%;--prism-card-y:-7%;
  border-color:transparent;
  background:
   radial-gradient(ellipse at var(--prism-card-x) var(--prism-card-y),#9c88ee1c,transparent 39%) padding-box,
   radial-gradient(ellipse at 0% 110%,#49c2d617,transparent 41%) padding-box,
   linear-gradient(155deg,#20242cf5,#10151bfd 64%) padding-box,
   var(--prism-edge-soft) border-box;
  box-shadow:0 3px 7px #0006,0 25px 45px -19px #000c,inset 0 1px 0 #ffffff24;
 }
 body :is(.premium-offer,.package,.company-metric):nth-child(3n+2){--prism-card-x:-12%;--prism-card-y:90%}
 body :is(.premium-offer,.package,.company-metric):nth-child(3n){--prism-card-x:75%;--prism-card-y:115%}
 .premium-offer::after{
  opacity:.62;
  background:radial-gradient(260px circle at var(--spot-x,15%) var(--spot-y,0%),#ffd79de0,#ff5145bd 16%,#9695ffb3 34%,#64d6ed9c 51%,#ade4b36b 62%,transparent 78%);
 }
 .premium-offer::before{opacity:1;background:radial-gradient(ellipse 220px 80px at var(--spot-x,15%) var(--spot-y,0%),#a78adb14,transparent 76%)}
 body :is(.service-modules,.session-agenda-shell,.work-compare-stage,.sys-flow){
  border-color:#a397c557;
  background:radial-gradient(ellipse at 95% 0%,#9f78e519,transparent 45%),radial-gradient(ellipse at 0% 98%,#47c2d816,transparent 40%),linear-gradient(150deg,#1b2029,#101319 63%);
  box-shadow:0 24px 44px -20px #000b,inset 1px 0 0 #96d8dc47,inset -1px 0 0 #bf9fdb52,inset 0 1px 0 #d1b6a047;
 }
 body :is(.service-modules__module,.session-agenda-options button,.work-compare-button,.sys-flow-toggle button,.booking-times button,.phone-controls button){
  background:radial-gradient(ellipse at 0% 120%,#a082e82b,transparent 62%),radial-gradient(ellipse at 105% -20%,#57d9dc21,transparent 58%),linear-gradient(155deg,#242a35,#171d26);
  color:#eceef5;
 }
 body :is(.service-modules__module,.session-agenda-options button,.work-compare-button,.sys-flow-toggle button,.booking-times button,.phone-controls button)[aria-pressed=true]{
  background:radial-gradient(ellipse at 4% 120%,#ad82ef3b,transparent 61%),radial-gradient(ellipse at 105% 0%,#73d9e335,transparent 55%),linear-gradient(155deg,#364054,#242a39);
  color:#fff;border-color:#d2c1f0b0;
 }
 .service-modules .service-modules__module--follow-through[aria-pressed=true]{background:radial-gradient(ellipse at 0% 120%,#79dce22b,transparent 60%),linear-gradient(145deg,#303944,#1d242d);border-color:#a9c8dfba}
 .booking-days button[aria-pressed=true]{background:radial-gradient(ellipse at 5% 110%,#b794e83d,transparent 60%),linear-gradient(#eef0f1,#d3dfe5);color:#141820}
 .availability-preview summary{background:radial-gradient(ellipse at 100% 0%,#9a7ae526,transparent 70%),#19212c;border-color:#c4acc366;box-shadow:var(--prism-rim)}
 .booking-shell,.screenshot-dialog{border-color:#aba2c473;box-shadow:var(--shadow-card),var(--prism-rim)}
 .browser-frame,.trio-shot{border-color:#9a96bb70;box-shadow:var(--shadow-raised),inset 0 1px 0 #baa2eb55}
 .project-trio{box-shadow:var(--shadow-card),var(--prism-rim)!important}
 .site-footer{background:radial-gradient(ellipse at 15% 110%,#6d56d615,transparent 49%),radial-gradient(ellipse at 83% 120%,#3cc3d416,transparent 44%),linear-gradient(180deg,transparent,#030609)}
 @media(hover:hover) and (pointer:fine){
  .btn::before,.round-link::before,.dock-cta::before{background-size:150% 150%;background-position:0% 50%;transition:background-position .8s cubic-bezier(.2,.65,.3,1),opacity .3s}
  .btn:hover::before,.round-link:hover::before,.dock-cta:hover::before{background-position:100% 50%}
 }
 @media(max-width:820px){
  .site-nav{background:radial-gradient(ellipse at 100% 0%,#a27dec22,transparent 60%),#10161efa;border-color:#b7a7d185;box-shadow:0 24px 40px #0009,var(--prism-rim)}
 }
 @media(prefers-reduced-motion:reduce){body :is(button,.btn,.dock-cta,.round-link)::before{transition:none!important}}
 html.motion-off :is(button,.btn,.dock-cta,.round-link)::before{transition:none!important}
}

/* Sharper separated spectrum on small controls: a projected top edge and a
   displaced return reflection, matching the supplied optical-light references. */
@media screen{
 :root{
  --prism-edge:linear-gradient(118deg,#f2eadcad 0%,#ffbf59 4%,#ff825e 8%,#ff5145 11%,#a18bff 15%,#70b5ff 19%,#70e5c9 23%,#d1e0ea26 31%,#d1e0ea1c 65%,#a082f5 79%,#63d7e7 84%,#99dfab 88%,#f6c370 93%,#f2eadc9c 100%);
  --prism-rim:inset 1px 0 0 #80dcf477,inset -1px 0 0 #b598f778,inset 0 1px 0 #ffdbc68a,inset 0 -1px 0 #77cbdc52;
 }
 body :is(.btn,.dock-cta,.round-link)::before{padding:1.7px;opacity:1}
 .site-header::before,.site-header.scrolled::before{padding:1.65px;opacity:1}
 body button:not(.btn):not(.menu-backdrop):not(:disabled),
 body .service-modules__links a{
  --prism-control-top:#252c37;--prism-control-bottom:#171d26;
  background-image:
   linear-gradient(105deg,transparent 4%,#ffc45985 20%,#ff9264ed 31%,#ff5145 42%,#a28bff 50%,#77c4ff 61%,#83eac9c7 73%,transparent 96%),
   linear-gradient(100deg,transparent 6%,#8facf58c 26%,#7fdaccba 43%,#c6dc839e 57%,#f3b76fbd 68%,#d84a3587 80%,transparent 96%),
   radial-gradient(ellipse at 96% -25%,#8970e42a,transparent 63%),
   radial-gradient(ellipse at 2% 132%,#4dc3d221,transparent 64%),
   linear-gradient(var(--prism-control-top),var(--prism-control-bottom))!important;
  background-size:70% 2px,43% 1.5px,100% 100%,100% 100%,100% 100%!important;
  background-position:116% 0,-12% 100%,center,center,center!important;
  background-repeat:no-repeat!important;
 }
 body button:not(.btn):not(.menu-backdrop):not(:disabled):hover,
 body .service-modules__links a:hover{
  background-size:83% 2.5px,58% 2px,100% 100%,100% 100%,100% 100%!important;
 }
 body button[aria-pressed=true]:not(.btn):not(:disabled){--prism-control-top:#354156;--prism-control-bottom:#242d3d}
 body .service-modules__module--follow-through[aria-pressed=true]{--prism-control-top:#354156;--prism-control-bottom:#242d3d}
 body .booking-days button[aria-pressed=true]:not(:disabled){--prism-control-top:#e8ebf0;--prism-control-bottom:#c9dce4;color:#141820}
 body :is(.motion-toggle,.session-agenda-reset,.booking-text-button,.dock-menu){border-radius:7px}
}

/* Finish the quieter interactions with the same optical material. */
@media screen{
 :root{--prism-red:#ff5145;--prism-amber:#ffc459;--prism-violet:#a28bff;--prism-blue:#77c4ff;--prism-mint:#83eac9}
 .faq-item{border-color:#8794a337;transition:border-color .25s ease,background-color .25s ease}
 .faq-item:hover,.faq-item[open]{border-color:#c3ccdf70;background:radial-gradient(ellipse at 96% 0%,#9684f012,transparent 62%),linear-gradient(100deg,transparent,#91c8e609)}
 .faq-item summary::after{color:#d4e4ef;text-shadow:1px 0 #ff51454d,-1px 0 #77c4ff66}
 .faq-item[open] summary{color:#fff}
 .text-link{text-decoration-color:#c1d5ea;text-underline-offset:6px}
 .text-link:hover{text-decoration-line:underline}
 .dock-menu{border-radius:999px!important}
 body :is(.btn,.dock-cta,button,summary,a):focus-visible{outline:2px solid #d6e8f7!important;outline-offset:5px}
 body button[aria-pressed=true]:not(.btn):not(:disabled){border-color:#c6d8e9;box-shadow:0 4px 12px #0008,inset 3px 0 0 #d6e8f2,var(--prism-rim)!important}
 .swatch-row span:nth-child(4){background:linear-gradient(127deg,#ff5145 0%,#ffc459 21%,#a28bff 45%,#77c4ff 66%,#83eac9 87%)}
 .process-number,.timeline-rail{color:#e3e9ef;text-shadow:-1px 0 #ff514540,1px 0 #77c4ff59}
 @media(prefers-reduced-motion:reduce){.faq-item{transition:none}}
 html.motion-off .faq-item{transition:none}
}
