/*
Theme Name: Daniel Rechberger Glass
Version: 1.6.0
*/
:root{--ink:#617184;--soft:#99a8b8;--mx:50%;--my:50%}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{color:var(--ink);background:radial-gradient(circle at var(--mx) var(--my),rgba(218,238,255,.55),transparent 28%),radial-gradient(circle at 12% 10%,rgba(216,237,255,.58),transparent 34%),radial-gradient(circle at 88% 86%,rgba(238,218,255,.46),transparent 38%),#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;transition:background .15s linear}
body:before{position:fixed;inset:0;z-index:0;content:"";opacity:.3;background-image:url("data:image/svg+xml,%3Csvg viewBox=%270 0 180 180%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.9%27 numOctaves=%274%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27 opacity=%27.065%27/%3E%3C/svg%3E");pointer-events:none}
.stage{position:relative;display:grid;place-items:center;width:100%;height:100svh;padding:clamp(1.5rem,5vw,5rem);overflow:hidden;perspective:1200px}
.content{position:relative;z-index:3;width:min(100%,1120px);text-align:center;transform-style:preserve-3d;will-change:transform}
h1{max-width:1000px;margin:0 auto;color:#506074;font-size:clamp(3.4rem,9.2vw,8.7rem);font-weight:200;letter-spacing:-.06em;line-height:.92;text-align:center;text-shadow:0 12px 45px rgba(88,112,138,.08)}
h1 span{display:block;margin-top:.52em;color:var(--soft);font-size:.34em;letter-spacing:-.025em;line-height:1.15}
.links{display:flex;justify-content:center;gap:1rem;margin-top:clamp(2.5rem,7vh,5.5rem)}
.links a{position:relative;display:flex;align-items:center;justify-content:space-between;width:min(23rem,42vw);padding:1.25rem 1.5rem;overflow:hidden;border:1px solid rgba(255,255,255,.96);border-radius:1.4rem;color:#798797;background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(241,248,255,.28));box-shadow:0 18px 55px rgba(108,133,158,.11),inset 0 1px #fff;text-align:left;text-decoration:none;backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);will-change:transform;transition:color .35s ease,box-shadow .35s ease,border-color .35s ease}
.links a:before{position:absolute;inset:-100%;content:"";background:radial-gradient(circle at var(--lx,50%) var(--ly,50%),rgba(255,255,255,.95),transparent 24%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.links a:hover:before,.links a:focus-visible:before{opacity:.8}
.links a:hover,.links a:focus-visible{color:#35495e;border-color:#fff;box-shadow:0 28px 85px rgba(91,120,150,.2),inset 0 1px #fff;outline:none}
.links a span{position:relative;margin-left:2rem;color:#acb8c5;transition:transform .35s ease}
.links a:hover span{transform:translate(4px,-4px)}
.cursor-light{position:absolute;z-index:2;width:28rem;height:28rem;margin:-14rem 0 0 -14rem;border-radius:50%;opacity:.72;background:radial-gradient(circle,rgba(255,255,255,.88),rgba(210,233,255,.2) 32%,transparent 68%);filter:blur(10px);mix-blend-mode:screen;pointer-events:none;will-change:transform}
.glass-field{position:absolute;inset:0;z-index:1;pointer-events:none;transform-style:preserve-3d}
.glass-object{position:absolute;display:block;border:1px solid rgba(255,255,255,.98);background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(221,239,255,.13));box-shadow:inset 1px 2px 3px rgba(255,255,255,.9),inset -3px -4px 10px rgba(167,198,225,.1),0 28px 90px rgba(105,134,163,.16);backdrop-filter:blur(20px) saturate(165%);-webkit-backdrop-filter:blur(20px) saturate(165%);will-change:transform}
.glass-object:after{position:absolute;inset:10%;content:"";border:1px solid rgba(255,255,255,.48);border-radius:inherit;filter:blur(.2px)}
.glass-one{left:-7rem;top:-6rem;width:23rem;height:23rem;border-radius:43% 57% 64% 36%/48% 37% 63% 52%}
.glass-two{right:-9rem;bottom:-10rem;width:31rem;height:31rem;border-radius:50%}
.glass-three{right:14%;top:5%;width:8rem;height:16rem;border-radius:6rem}
.glass-four{left:38%;bottom:5%;width:6rem;height:6rem;border-radius:1.5rem}
.glass-five{left:8%;bottom:14%;width:5rem;height:10rem;border-radius:4rem}
.glass-six{right:5%;top:42%;width:4rem;height:4rem;border-radius:50%}
@media(max-width:700px){.stage{padding:1.25rem}.content{margin-top:-2vh}h1{font-size:clamp(3.25rem,17vw,5.6rem)}h1 span{font-size:.38em}.links{align-items:center;flex-direction:column;margin-top:2.5rem}.links a{width:min(100%,24rem);padding:1.05rem 1.25rem}.glass-three{right:2%;top:3%}.glass-four{left:15%;bottom:3%}.glass-five{display:none}.cursor-light{width:20rem;height:20rem;margin:-10rem 0 0 -10rem}}

/* cursor highlighter and link marks */
@media (pointer:fine){body,body a{cursor:none}}
.cursor-halo,.cursor-dot{position:fixed;left:0;top:0;z-index:20;border-radius:50%;pointer-events:none;will-change:transform}
.cursor-halo{width:46px;height:46px;margin:-23px 0 0 -23px;border:1px solid rgba(104,128,153,.38);background:rgba(255,255,255,.14);box-shadow:0 0 0 7px rgba(210,231,249,.13),0 8px 32px rgba(87,117,147,.15),inset 0 0 14px rgba(255,255,255,.85);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:width .28s ease,height .28s ease,margin .28s ease,background .28s ease,border-color .28s ease,opacity .25s ease}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:#687d92;box-shadow:0 0 12px 3px rgba(151,184,216,.42);transition:width .2s ease,height .2s ease,margin .2s ease,background .2s ease}
body.cursor-over-link .cursor-halo{width:76px;height:76px;margin:-38px 0 0 -38px;border-color:rgba(107,137,166,.52);background:rgba(226,241,255,.27);box-shadow:0 0 0 12px rgba(218,235,251,.13),0 14px 45px rgba(78,111,144,.2),inset 0 0 24px rgba(255,255,255,.95)}
body.cursor-over-link .cursor-dot{width:4px;height:4px;margin:-2px 0 0 -2px;background:#425a72}
.link-brand{position:relative;display:flex;align-items:center;gap:.9rem;margin:0!important;color:inherit!important}
.link-logo{width:2rem;height:2rem;flex:0 0 auto;overflow:visible;fill:rgba(118,143,167,.12);stroke:#8194a8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 10px rgba(91,119,146,.12));transition:transform .42s cubic-bezier(.2,.8,.2,1),stroke .35s ease,fill .35s ease}
.link-logo .logo-line{fill:none}
.links a:hover .link-logo,.links a:focus-visible .link-logo{transform:scale(1.16) rotate(-4deg);stroke:#516a83;fill:rgba(166,202,234,.19)}
.links a:nth-child(2):hover .link-logo,.links a:nth-child(2):focus-visible .link-logo{transform:scale(1.16) rotate(5deg)}
.links a .arrow{position:relative;margin-left:2rem;color:#acb8c5;transition:transform .35s ease}
.links a:hover .arrow{transform:translate(4px,-4px)}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-halo,.cursor-dot{display:none}body,body a{cursor:auto}}

/* performance pass 1.4.0 */
body{transition:none;background:radial-gradient(circle at 12% 10%,rgba(216,237,255,.58),transparent 34%),radial-gradient(circle at 88% 86%,rgba(238,218,255,.46),transparent 38%),#fff}
.cursor-light{display:none}
.glass-object{backdrop-filter:none;-webkit-backdrop-filter:none;contain:layout paint style;box-shadow:inset 1px 2px 3px rgba(255,255,255,.9),inset -3px -4px 10px rgba(167,198,225,.08),0 24px 65px rgba(105,134,163,.12)}
.glass-five,.glass-six{display:none}
.cursor-halo{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(235,246,255,.34);box-shadow:0 0 0 7px rgba(210,231,249,.11),0 8px 26px rgba(87,117,147,.12),inset 0 0 12px rgba(255,255,255,.9)}
.links a{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(241,248,255,.7));contain:layout style}
.content,.glass-object,.cursor-halo,.cursor-dot{backface-visibility:hidden;-webkit-backface-visibility:hidden}
@media(pointer:coarse),(max-width:700px){.glass-three,.glass-four{display:none}.content,.links a{transform:none!important}}

/* mobile motion 1.5.0 */
@media(pointer:coarse),(max-width:700px){.glass-three{display:block}.glass-four,.glass-five,.glass-six{display:none}.content{transform-style:preserve-3d;will-change:transform}.links a{transform:none!important}.glass-object{will-change:transform}}

/* consistent vector arrows 1.6.0 */
.links a .arrow{display:grid;place-items:center;width:1.25rem;height:1.25rem;flex:0 0 auto}
.links a .arrow svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
