/* NUUK shared landing system: type, menu, footer, circular brand seal and consent UI. */
h1,h2,h3{font-family:Unbounded,Switzer,Arial,sans-serif;font-weight:500;letter-spacing:-.035em;text-wrap:balance}
header nav a{font-weight:500;letter-spacing:0}header nav a:last-child{border:1px solid #fff;border-radius:999px;padding:12px 18px;transition:background .25s,color .25s,transform .25s}header nav a:last-child:hover{background:#fff;color:#000;transform:translateY(-2px)}
.menu-toggle{border:1px solid #ffffff55;border-radius:50%}
.energy-ribbon{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.energy-ribbon>div{display:flex;width:max-content;animation:nuuk-ribbon 32s linear infinite}.energy-ribbon span{padding-right:42px;font:500 clamp(17px,1.5vw,23px)/1.4 Unbounded,Arial,sans-serif;letter-spacing:-.02em;background:linear-gradient(90deg,#1467ee,#25aff1 25%,#7d7ced 52%,#fb8248 78%,#fdcf30);background-clip:text;-webkit-background-clip:text;color:transparent}.energy-ribbon i{color:#fff;-webkit-text-fill-color:#fff}.energy-ribbon span i{margin-left:22px}@keyframes nuuk-ribbon{to{transform:translateX(-50%)}}
.footer-main{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(130px,.8fr) minmax(150px,.9fr) 120px;align-items:center;gap:34px;padding:36px 0;border-top:1px solid var(--line)}
.footer-brand{min-width:0}.footer-brand>a,.footer-logo{display:block;width:min(190px,100%)}.footer-brand>a img,.footer-logo img{width:100%;height:auto}
.footer-bottom p:nth-of-type(2){background:linear-gradient(90deg,#1467ee,#25aff1 25%,#7d7ced 52%,#fb8248 78%,#fdcf30);background-clip:text;-webkit-background-clip:text;color:transparent}
.footer-tagline{margin:15px 0 0;background:linear-gradient(90deg,#1467ee,#25aff1 25%,#7d7ced 52%,#fb8248 78%,#fdcf30);background-clip:text;-webkit-background-clip:text;color:transparent;font-size:15px}
.footer-links,.footer-meta{display:grid;gap:12px;font-size:14px}.footer-meta{color:#aaa}.footer-links a,.footer-meta a{transition:opacity .2s}.footer-links a:hover,.footer-meta a:hover{opacity:.65}
.footer-love{position:relative;width:112px;height:112px;justify-self:end;mix-blend-mode:screen}.footer-love-ring{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:nuuk-love-spin 22s linear infinite}.footer-love-center{position:absolute;width:42%;height:42%;object-fit:contain;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes nuuk-love-spin{to{transform:rotate(360deg)}}
.footer-legal-nav{display:flex;align-items:center;gap:20px}.footer-legal-nav a,.footer-bottom a,.cookie-preferences{color:#aaa;text-decoration:none}.footer-legal-nav a:hover,.footer-bottom a:hover,.cookie-preferences:hover{color:#fff}.cookie-preferences{border:0;background:none;padding:0;font:inherit;cursor:pointer}
.nuuk-cookie-banner{position:fixed;z-index:100;left:20px;right:20px;bottom:20px;margin:auto;width:min(900px,calc(100% - 40px));padding:20px 22px;background:#101010;border:1px solid #ffffff45;box-shadow:0 12px 40px #000b;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff}.nuuk-cookie-banner[hidden]{display:none}.nuuk-cookie-banner strong{font:500 13px/1.4 Unbounded,Switzer,sans-serif}.nuuk-cookie-banner p{margin:7px 0 0;max-width:560px;color:#c2c2c2;font:400 13px/1.5 Switzer,Arial,sans-serif}.nuuk-cookie-banner a{color:#fff;text-decoration:underline;text-underline-offset:3px}.nuuk-cookie-actions{display:flex;align-items:center;gap:9px;flex:none}.nuuk-cookie-actions button{min-height:42px;padding:0 15px;border:1px solid #ffffff70;background:transparent;color:#fff;font:500 12px Switzer,Arial,sans-serif;cursor:pointer}.nuuk-cookie-actions button:last-child{background:#fff;color:#000;border-color:#fff}
.portfolio-card,.project-card,.process-card,.service-list details{transition:border-color .3s,transform .35s cubic-bezier(.2,.7,.2,1)}
@media(max-width:700px){.footer-main{grid-template-columns:minmax(0,1fr) auto;gap:24px 18px;align-items:start}.footer-brand{grid-column:1}.footer-links{grid-column:1;grid-row:2}.footer-meta{grid-column:1;grid-row:3}.footer-love{grid-column:2;grid-row:1;width:94px;height:94px}.footer-legal-nav{flex-wrap:wrap;gap:12px 18px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:15px}.nuuk-cookie-banner{left:12px;right:12px;bottom:12px;width:auto;display:block;padding:16px}.nuuk-cookie-actions{margin-top:15px}.nuuk-cookie-actions button{flex:1}.menu-toggle{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.footer-love-ring{animation:none}}

/* Header, marquee and footer refinements from the NUUK reference. */
header{gap:18px}
header nav{gap:clamp(14px,2vw,30px);font-size:14px}
header nav a::after{display:none}
header nav .contact-nav{border:1px solid #fff;border-radius:999px;padding:14px 34px;min-height:58px;display:inline-flex;align-items:center;gap:20px;white-space:nowrap;border-bottom:1px solid #fff}
header nav .contact-nav:hover{background:#fff;color:#000;transform:none}
header nav .contact-nav i{font-size:22px}
.nav-right{display:flex;align-items:center;gap:22px;flex:none}
.language{display:flex;align-items:center;gap:9px;font:500 15px/1 Switzer,Arial,sans-serif;white-space:nowrap}
.language>span{font-size:20px}
.menu-toggle{display:none}
.energy-ribbon{padding:18px 0}
.energy-ribbon>.ribbon-track{display:flex;width:max-content;gap:0;animation:nuuk-reference-ticker 34s linear infinite;will-change:transform}
.energy-ribbon span{display:inline-block;flex:none;padding-right:clamp(28px,4vw,60px);font:500 clamp(17px,1.65vw,25px)/1.4 Unbounded,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.015em;white-space:nowrap;background:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.ribbon-gradient{background:linear-gradient(90deg,#1467ee 0%,#25aff1 25%,#7d7ced 52%,#fb8248 78%,#fdcf30 100%);background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important}
.energy-ribbon i{font-style:normal;color:#fff!important;-webkit-text-fill-color:#fff!important;margin-left:clamp(18px,2.6vw,38px)}
@keyframes nuuk-reference-ticker{to{transform:translateX(-50%)}}
.footer-main{grid-template-columns:minmax(180px,1.2fr) minmax(150px,.9fr) minmax(190px,1fr) 132px;gap:clamp(18px,3vw,42px);align-items:center}
.footer-links{display:grid;gap:12px;font-size:14px}
.footer-meta{display:grid;gap:10px;font-size:14px;color:#aaa}
.footer-love{width:128px;height:128px;mix-blend-mode:normal;justify-self:end}
.footer-love-ring{transform-origin:50% 50%;animation:nuuk-love-ring-rotation 30s linear infinite}
.footer-love-center{width:58%;height:58%;transform:translate(-50%,-50%);object-fit:contain}
@keyframes nuuk-love-ring-rotation{to{transform:rotate(360deg)}}
@media(max-width:1020px){
 header nav{display:none;position:absolute;top:0;left:0;right:0;min-height:100svh;padding:130px var(--g) 40px;background:#000;flex-direction:column;align-items:flex-start;gap:22px;font-size:24px}
 header nav.open{display:flex}.nav-right{margin-left:auto;position:relative;z-index:12}
 .menu-toggle{display:flex;z-index:13;background:transparent;border:1px solid #ffffff55;border-radius:50%;width:46px;height:46px;flex-direction:column;gap:6px;padding:0}
 .menu-toggle span{display:block;width:18px;height:1px;background:#fff;transition:transform .18s ease}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .footer-main{grid-template-columns:minmax(160px,1.1fr) minmax(140px,1fr) minmax(170px,1fr) 110px;gap:18px}
 .footer-love{width:106px;height:106px}
}
@media(max-width:700px){
 header nav{padding:115px var(--g) 40px;gap:20px}
 header nav a{font-size:24px}.header nav .contact-nav{font-size:16px}
 .energy-ribbon{padding:13px 0}.energy-ribbon span{font-size:15px}
 .footer-main{grid-template-columns:minmax(0,1fr) auto;gap:24px 18px}
 .footer-brand{grid-column:1}.footer-links{grid-column:1;grid-row:2}.footer-meta{grid-column:1;grid-row:3}
 .footer-love{grid-column:2;grid-row:1;width:94px;height:94px}
 .footer-love-center{width:60%;height:60%}
}
@media(prefers-reduced-motion:reduce){.energy-ribbon>.ribbon-track{animation:none}.footer-love-ring{animation:none}}

/* Footer slogan and mobile menu refinements. */
.footer-tagline{font-family:Unbounded,Arial,sans-serif!important;text-decoration:underline;text-decoration-color:#fff;text-decoration-thickness:1px;text-underline-offset:4px}
.footer-love .footer-love-center{width:58%!important;height:58%!important}
@media(max-width:700px){.menu-toggle{position:relative!important;width:38px!important;height:28px!important;padding:0!important;gap:0!important;border:0!important;border-radius:0!important;background:transparent!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}.menu-toggle span{position:absolute!important;width:24px!important;height:1px!important;left:7px!important;top:50%!important;background:#fff!important;transition:transform .18s ease,opacity .18s ease!important}.menu-toggle span:first-child{transform:translateY(-7px)}.menu-toggle span:last-child{transform:translateY(7px)}.menu-toggle:after{content:"";position:absolute;left:7px;top:50%;width:24px;height:1px;background:#fff;transform:translateY(0);transition:opacity .18s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(0) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(0) rotate(-45deg)}.menu-toggle[aria-expanded=true]:after{opacity:0}}
@media(min-width:1021px){header nav{margin-left:auto;justify-content:flex-end}}
