.intro{flex-direction:column;min-height:100svh;padding:clamp(126px,20vh,200px) clamp(20px,12vw,190px) 50px clamp(20px,6vw,150px);display:flex}.eyebrow,.scroll-prompt,.leg-label,footer{font:var(--fs-label)/1.5 var(--font-mono);letter-spacing:var(--tracking-label)}.eyebrow{color:var(--mist);margin:0 0 26px}h1{font-size:var(--fs-display);letter-spacing:var(--tracking-heading);margin:0;font-weight:300;line-height:1.05}.lead{max-width:440px;font-size:var(--fs-lead);color:var(--mist);margin:38px 0 0;line-height:2}.scroll-prompt{color:var(--ink);align-self:flex-start;align-items:center;gap:15px;margin-top:auto;padding:12px 0;text-decoration:none;display:flex}.scroll-prompt i{font-size:16px;font-style:normal;animation:2.4s ease-in-out infinite descend}.intro,.leg>h2,.leg>.leg-label,.leg-aside{text-shadow:0 0 18px color-mix(in srgb, var(--surface) 80%, transparent), 0 0 4px color-mix(in srgb, var(--surface) 60%, transparent)}.leg{flex-direction:column;justify-content:center;width:min(980px,100%);min-height:100svh;padding:14vh clamp(20px,12vw,190px) 14vh clamp(20px,6vw,150px);scroll-margin-top:0;display:flex}.leg h2{font-size:var(--fs-section);letter-spacing:var(--tracking-heading);margin:18px 0 clamp(28px,5vh,48px);font-weight:300;line-height:1.1}.leg-label{color:var(--mist);margin:0}.leg-body,.service-card,.leg-contact{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 82%, transparent)}.leg-body{max-width:640px;padding:clamp(24px,4vw,44px)}.leg-note{max-width:460px;color:var(--mist);font-size:var(--fs-body);margin:0;line-height:1.9}.leg-aside{color:var(--mist);font-size:var(--fs-small);margin:18px 0 0}.skill-list{flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none;display:flex}.skill-list li{border:1px solid var(--line);font:var(--fs-label)/1.6 var(--font-mono);letter-spacing:var(--tracking-label);padding:7px 11px}.service-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px;display:grid}.service-card{flex-direction:column;min-width:0;padding:12px 12px 18px;transition:transform .5s,border-color .5s;display:flex;position:relative}.service-card:has(.service-card-link):hover{border-color:var(--ink);transform:translateY(-4px)}.service-card img{aspect-ratio:1.75;object-fit:cover;width:100%;display:block}.service-card p{color:var(--mist);font:var(--fs-label)/1.6 var(--font-mono);letter-spacing:var(--tracking-label);margin:14px 4px 6px}.service-card h3{font-size:var(--fs-h3);margin:0 4px;font-weight:400;line-height:1.5}.service-card small{color:var(--mist);font-size:var(--fs-small);margin:8px 4px 0;line-height:1.8;display:block}.service-card .service-card-link{color:var(--ink);font:var(--fs-label)/1.6 var(--font-mono);letter-spacing:var(--tracking-label);align-self:flex-start;margin:auto 4px 0;padding-top:14px;text-decoration:none}.service-card .service-card-link b{font-weight:400}.service-card .service-card-link:after{content:"";position:absolute;inset:0}.news-list{padding-block:8px}.notice{padding:20px 0}.notice+.notice{border-top:1px solid var(--line)}.notice time{color:var(--mist);font:var(--fs-label)/1.6 var(--font-mono);letter-spacing:var(--tracking-label)}.notice h3{font-size:var(--fs-h3);margin:10px 0 8px;font-weight:400;line-height:1.5}.notice p{color:var(--mist);margin:0;line-height:1.9}.notice .notice-link{border-bottom:1px solid var(--line);color:var(--ink);font:var(--fs-label)/1.6 var(--font-mono);letter-spacing:var(--tracking-label);margin-top:10px;padding-bottom:3px;text-decoration:none;display:inline-block}.notice .notice-link b{font-weight:400}.notice .notice-link:hover,.notice .notice-link:focus-visible{border-bottom-color:var(--ink)}.leg-contact{justify-content:flex-start;align-self:flex-start;width:min(640px,100% - clamp(20px,6vw,150px) - clamp(20px,12vw,190px));min-height:0;margin:30vh 0 26vh clamp(20px,6vw,150px);padding:clamp(32px,6vw,64px)}.contact-link{border:1px solid var(--ink);color:var(--ink);font:var(--fs-label)/1 var(--font-mono);letter-spacing:var(--tracking-label);border-radius:999px;align-self:flex-start;align-items:center;gap:14px;margin-top:36px;padding:15px 22px;text-decoration:none;transition:background .4s;display:inline-flex}.contact-link b{font-weight:400;transition:transform .4s}.contact-link:hover,.contact-link:focus-visible{background:var(--ink);color:var(--surface)}.contact-link:hover b,.contact-link:focus-visible b{transform:translate(4px)}footer{border-top:1px solid var(--line);color:var(--mist);justify-content:space-between;gap:16px;margin:0 clamp(20px,12vw,190px) 0 clamp(20px,6vw,150px);padding:30px 0 42px;display:flex}.journey-rail{--progress:0;z-index:3;flex-direction:column;align-items:flex-end;gap:clamp(18px,4vh,34px);padding:0 20px 0 0;display:flex;position:fixed;top:50%;right:clamp(16px,3vw,48px);transform:translateY(-50%)}.journey-rail:before,.journey-rail:after{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;right:3px}.journey-rail:after{background:var(--ink);transform:scaleY(var(--progress));transform-origin:top}.journey-rail a{min-height:24px;color:var(--mist);font:var(--fs-label)/1 var(--font-mono);letter-spacing:var(--tracking-label);align-items:center;gap:12px;text-decoration:none;display:flex;position:relative}.journey-rail a:after{content:"";border:1px solid var(--ink);background:var(--surface);border-radius:50%;width:7px;height:7px;transition:transform .4s,background .4s;position:absolute;right:-20px}.journey-rail a b{white-space:nowrap;opacity:0;font-weight:400;transition:opacity .4s,transform .4s;position:absolute;right:calc(100% + 12px);transform:translate(6px)}.journey-rail a:hover,.journey-rail a:focus-visible,.journey-rail a[aria-current]{color:var(--ink)}.journey-rail a:hover b,.journey-rail a:focus-visible b,.journey-rail a[aria-current] b{opacity:1;transform:none}.journey-rail a[aria-current]:after{background:var(--ink);transform:scale(1.3)}.rail-orb{background:var(--orb-core,#fff);width:13px;height:13px;box-shadow:0 0 10px 3px var(--orb-light,#fff4cf);border-radius:50%;position:absolute;bottom:-26px;right:-3px}.orb-fallback{z-index:0;aspect-ratio:1;background:var(--orb-core,#fff);width:clamp(70px,9vw,130px);box-shadow:0 0 120px 60px color-mix(in srgb, var(--orb-light,#fff4cf) 55%, transparent);pointer-events:none;opacity:var(--orb-veil,1);border-radius:50%;position:fixed;top:16vh;right:22vw}:root.has-cloudscape .orb-fallback,:root.is-loading .orb-fallback{display:none}@keyframes descend{50%{transform:translateY(5px)}}@media (width<=760px){.intro,.leg{padding-right:20px}.intro{padding-bottom:96px}.leg-contact{width:calc(100% - 40px);margin-inline:20px}footer{margin:0 20px;padding-bottom:96px}footer span{display:none}.journey-rail{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 82%, transparent);border-radius:999px;flex-direction:row;justify-content:space-between;align-items:center;padding:12px 44px 12px 16px;inset:auto 16px 16px;transform:none}.journey-rail:before,.journey-rail:after{width:auto;height:1px;inset:auto 44px 4px 16px}.journey-rail:after{transform:scaleX(var(--progress));transform-origin:0}.journey-rail a{min-height:32px}.journey-rail a:after{display:none}.journey-rail a b{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.journey-rail .rail-start{display:none}.rail-orb{bottom:50%;right:18px;transform:translateY(50%)}}.rail-distance{color:var(--mist);font:var(--fs-label)/1 var(--font-mono);letter-spacing:.06em;white-space:nowrap;position:absolute;bottom:-52px;right:-3px}@media (width<=760px){.rail-distance{display:none}}:root[data-condition=snow] .leg-body,:root[data-condition=snow] .service-card,:root[data-condition=snow] .leg-contact{position:relative}:root[data-condition=snow] .leg-body:before,:root[data-condition=snow] .service-card:before,:root[data-condition=snow] .leg-contact:before{content:"";z-index:1;filter:drop-shadow(0 1px 1px #50648240);transform-origin:bottom;pointer-events:none;background:radial-gradient(circle at 50% 100%,#fff 64%,#0000 68%) 0 100%/13px 9px repeat-x,radial-gradient(circle at 50% 100%,#fff 64%,#0000 68%) 6px 100%/19px 6px repeat-x;height:7px;animation:90s ease-out both settle;position:absolute;bottom:100%;left:-1px;right:-1px}@keyframes settle{0%{transform:scaleY(0)}}
