/* A small visual signature for the homepage; existing layout and controls stay intact. */
.home-signature .hero-visual{isolation:isolate;border-radius:6px;box-shadow:0 18px 48px -28px #142c3360}
.home-signature .hero-visual>img{border-radius:6px}
.home-signature .hero-visual:after{content:"";position:absolute;inset:0;border:1px solid #ffffff35;border-radius:6px;pointer-events:none;z-index:1}
.home-signature .hero-visual .visual-tag,.site-signature .hero-caption{z-index:2}
.signature-visual{position:relative;isolation:isolate}
.signature-glow{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;background:radial-gradient(ellipse at 100% 0%,#cbf6ff66,transparent 55%);box-shadow:inset 0 0 28px #80e6ff45}
.signature-energized>.signature-glow{animation:signature-light 2.8s ease-in-out both}
.home-signature.signature-arriving .hero-copy>p,.home-signature.signature-arriving .hero-copy>h1,.home-signature.signature-arriving .hero-copy>.actions{animation:signature-arrive .7s cubic-bezier(.2,.7,.2,1) both}
.home-signature.signature-arriving .hero-copy>h1{animation-delay:.07s}
.home-signature.signature-arriving .hero-copy>.lead{animation-delay:.14s}
.home-signature.signature-arriving .hero-copy>.actions{animation-delay:.21s}
.home-signature.signature-arriving .hero-copy>.hero-note{animation-delay:.28s}
.site-signature .hero-caption{border:1px solid #ffffff20;transition:background .2s,box-shadow .2s}
.site-signature .hero-caption .arrow{transition:background .2s,color .2s,transform .2s}
.site-signature .hero-caption:is(:hover,:focus-visible){background:#183a43;box-shadow:0 8px 28px #142c3328}
.site-signature .hero-caption:is(:hover,:focus-visible) .arrow{transform:rotate(45deg);background:var(--cyan);color:var(--night)}
.site-signature .config-card{position:relative;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .25s}
.site-signature .config-card:before{content:"";position:absolute;top:0;left:25px;right:25px;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);transform:scaleX(0);transition:transform .35s}
.site-signature .config-symbol{transition:background .25s,color .25s,box-shadow .25s}
.site-signature .config-card-link{align-items:center;gap:12px}
.site-signature .config-card-link>span{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid var(--line);border-radius:50%;font-size:18px;transition:background .2s,color .2s,border-color .2s}
.site-signature .config-card:focus-visible:before{transform:scaleX(1)}
.site-signature .config-card:focus-visible .config-symbol{background:var(--night);color:#90e5fa;box-shadow:0 0 0 4px #10b9e112}
.site-signature .config-card:focus-visible .config-card-link>span{background:var(--night);color:white;border-color:var(--night)}
@media(hover:hover){
 .site-signature .config-card:hover{box-shadow:0 18px 42px -24px #142c334d}
 .site-signature .config-card:hover:before{transform:scaleX(1)}
 .site-signature .config-card:hover .config-symbol{background:var(--night);color:#90e5fa;box-shadow:0 0 0 4px #10b9e112}
 .site-signature .config-card:hover .config-card-link>span{background:var(--night);color:white;border-color:var(--night)}
}
@keyframes signature-light{0%,100%{opacity:0}40%,60%{opacity:1}}
@keyframes signature-arrive{from{opacity:.45;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.site-signature .hero-caption .arrow{transform:none!important}.signature-glow{display:none}.home-signature .hero-copy>*{animation:none!important;transform:none!important;opacity:1!important}}
@media print{.signature-glow,.signature-progress{display:none}.home-signature .hero-visual{box-shadow:none}}

/* Shared finishing details on every public page. */
.site-signature main h1{position:relative}.site-signature main h1:after{content:"";position:absolute;bottom:-12px;left:0;width:64px;height:2px;background:linear-gradient(90deg,var(--cyan),#10b9e100);pointer-events:none}.site-signature .signature-heading-arrival{animation:signature-arrive .65s ease-out both}.signature-progress{position:absolute;left:0;bottom:-1px;display:block;width:100%;height:2px;border:0;appearance:none;-webkit-appearance:none;background:transparent;color:var(--cyan);pointer-events:none}.signature-progress::-webkit-progress-bar{background:transparent}.signature-progress::-webkit-progress-value{background:linear-gradient(90deg,#007a99,#10b9e1)}.signature-progress::-moz-progress-bar{background:linear-gradient(90deg,#007a99,#10b9e1)}.site-signature :is(.button,.text-link) .arrow{transition:transform .2s}.site-signature :is(.button,.text-link):focus-visible .arrow{transform:translate(2px,-2px)}.site-signature .contact-box{box-shadow:inset 3px 0 0 #10b9e12b}.site-signature .ref-project:focus-within{border-color:var(--cyan-dark);box-shadow:0 10px 30px #142c3310}
@media(hover:hover){.site-signature :is(.button,.text-link):hover .arrow{transform:translate(2px,-2px)}}
@media(prefers-reduced-motion:reduce){.site-signature .signature-heading-arrival{animation:none!important}.site-signature :is(.button,.text-link) .arrow{transform:none!important}}

/* Gentle mobile feedback: no continuous loops, no hidden resting content. */
@media(max-width:1100px) and (pointer:coarse) and (prefers-reduced-motion:no-preference){
 .site-signature .mobile-soft-enter{animation:mobile-soft-enter .48s cubic-bezier(.2,.7,.2,1) both}
 .site-signature .main-nav.is-open>a{animation:mobile-menu-enter .26s ease-out both}
 .site-signature .main-nav.is-open>a:nth-child(2){animation-delay:.03s}.site-signature .main-nav.is-open>a:nth-child(3){animation-delay:.06s}.site-signature .main-nav.is-open>a:nth-child(4){animation-delay:.09s}.site-signature .main-nav.is-open>a:nth-child(5){animation-delay:.12s}.site-signature .main-nav.is-open>a:nth-child(6){animation-delay:.15s}.site-signature .main-nav.is-open>a:nth-child(7){animation-delay:.18s}
 .site-signature .button,.site-signature .menu-toggle,.site-signature .ref-filters button{transition:transform .16s ease-out,background .2s,border-color .2s}
 .site-signature .config-card,.site-signature .ref-project>a,.site-signature .ref-photo-grid a{transition:transform .16s ease-out,box-shadow .2s,border-color .2s}
 .site-signature .button:not(:disabled):is(:active,.mobile-pressed),.site-signature .menu-toggle:is(:active,.mobile-pressed),.site-signature .ref-filters button:is(:active,.mobile-pressed){transform:scale(.97)}
 .site-signature .config-card:is(:active,.mobile-pressed),.site-signature .ref-project>a:is(:active,.mobile-pressed),.site-signature .ref-photo-grid a:is(:active,.mobile-pressed){transform:scale(.988)}
 .site-signature .config-card:is(:active,.mobile-pressed) .config-symbol{background:var(--night);color:#90e5fa}
 .site-signature .button:not(:active,.mobile-pressed):hover,.site-signature .config-card:not(:active,.mobile-pressed):hover,.site-signature .ref-project:hover{transform:none}
 .site-signature .main-nav.is-open>a:focus-visible{animation:none}
}
@keyframes mobile-soft-enter{from{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes mobile-menu-enter{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.site-signature .mobile-soft-enter{animation:none!important;transform:none!important;opacity:1!important}}
@media print{.site-signature .mobile-soft-enter{animation:none!important;transform:none!important;opacity:1!important}}
