/* The homepage is the visual authority. Shared inner-page frame and footer. */
:root{--site-gutter:6%;--site-section:90px;--site-ease:cubic-bezier(.16,1,.3,1)}
.skip-link{position:fixed;top:10px;left:var(--site-gutter);z-index:100;transform:translateY(-180%);padding:12px 20px;background:var(--ink);color:var(--paper);font:500 14px var(--font-body);text-decoration:none}.skip-link:focus-visible{transform:translateY(0)}
.nordic .site-header-home #navigation{display:flex;position:absolute;inset:2.8vw 4% auto auto;width:auto;max-width:70%;justify-content:flex-end;gap:clamp(14px,1.9vw,28px);margin:0}
.nordic .site-header-home #navigation a{position:static;inset:auto;font-size:clamp(11px,1.1vw,16px);min-height:44px;display:inline-flex;align-items:center}
.nordic-inner .site-header{position:relative;inset:auto;display:flex;align-items:center;width:100%;max-width:none;height:132px;min-height:0;margin:0;padding:10px var(--site-gutter);gap:30px;background:transparent;border:0;border-radius:0;box-shadow:none;box-sizing:border-box;z-index:20}
.nordic-inner .site-header .brand{display:block;flex:0 0 auto;width:160px;height:112px;min-width:0;margin:0;padding:0}
.nordic-inner .site-header .brand-full{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.nordic-inner .site-header .site-nav{position:static;inset:auto;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;margin:0 0 0 auto;width:auto;padding:0;gap:clamp(18px,2.1vw,34px);background:transparent;border:0;border-radius:0;box-shadow:none}
.nordic-inner .site-header .site-nav a{position:static;display:inline-flex;align-items:center;min-height:44px;padding:0;font:550 clamp(12px,1.1vw,16px)/1.4 var(--font-body);letter-spacing:0;color:var(--ink);text-decoration:none;white-space:nowrap;border-radius:0}
.site-header .site-nav a:is(:hover,[aria-current=page]){text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.site-header .site-menu-toggle{display:none;border:0;border-radius:2px;background:transparent;color:var(--ink);width:44px;height:44px;align-items:center;justify-content:center;padding:10px;cursor:pointer}
.site-header-inner .site-header-actions{display:none}
.site-menu-toggle .ui-icon{width:23px;height:23px}
.nordic .site-footer{display:block;width:100%;max-width:none;margin:0;padding:64px var(--site-gutter) 25px;background:#e6ddce;color:var(--ink);border:0;border-top:1px solid var(--line);border-radius:0;box-sizing:border-box;font:400 12px/1.8 var(--font-body)}
.site-footer .footer-top{display:grid;grid-template-columns:160px minmax(140px,1fr) minmax(180px,1.2fr) minmax(180px,1.2fr);gap:clamp(24px,4vw,70px);align-items:start;max-width:none;margin:0;padding:0}
.site-footer .footer-top>.brand{display:block;position:relative;width:140px;min-width:0;margin:0;padding:0;font:inherit;letter-spacing:0;color:var(--ink);text-decoration:none;background:transparent;border-radius:0;box-shadow:none}
.site-footer .footer-brand-image{display:block;width:140px;height:119px;max-width:100%;object-fit:contain;background:transparent;border-radius:0}
.site-footer .footer-brand-caption{display:none}
.site-footer .footer-top>p{font:400 clamp(27px,2.2vw,35px)/1.25 var(--font-display);letter-spacing:-.025em;max-width:17ch;margin:16px 0 0;color:var(--ink)}
.site-footer .footer-top>div{display:flex;flex-direction:column;gap:8px;padding-top:12px;font:400 12px/1.7 var(--font-body)}
.site-footer a{color:var(--ink);text-decoration:none;min-height:36px;display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;overflow-wrap:anywhere}
.site-footer a:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:6px}
.site-footer .ui-icon{width:16px;height:16px;flex-shrink:0}
.site-footer .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:45px;padding-top:22px;border-top:1px solid var(--line);font:400 11px/1.8 var(--font-body);color:var(--muted)}
.site-footer .footer-bottom>span{margin:0;letter-spacing:0;font:inherit;color:inherit}
.site-footer .footer-bottom a,.site-footer .footer-bottom button{min-height:36px;font:inherit;color:var(--ink);background:transparent;border:0;padding:0;border-radius:0;cursor:pointer;letter-spacing:0}
.site-footer .site-tool-note{max-width:80ch;margin:0 0 42px;padding:0 0 30px;border-bottom:1px solid var(--line);font:400 12px/1.85 var(--font-body);color:var(--muted)}
.site-tool-note p{margin:0 0 8px;font:inherit}.site-tool-note small{font:inherit}.site-tool-note a{display:inline;min-height:0;text-decoration:underline}
.nordic-inner .company-wrap{padding:55px var(--site-gutter) var(--site-section)}
.nordic-inner .company-hero{padding-top:30px;padding-bottom:90px;gap:7%}
.nordic-inner .company-hero h1,.nordic-inner .professional-hero h1,.nordic-inner .teak-hero h1{font:400 clamp(44px,5.5vw,80px)/1.1 var(--font-display);letter-spacing:-.025em;margin:0 0 28px;text-wrap:balance;color:var(--ink)}
.nordic-inner .company-hero p:not(.eyebrow),.nordic-inner .professional-hero p,.nordic-inner .teak-lede{font-size:16px;line-height:1.85;color:var(--muted);max-width:65ch}
.nordic-inner .company-hero>img{border-radius:2px}
.nordic-inner .company-prose{padding:55px 0;gap:7%;margin-bottom:30px}
.nordic-inner .company-values{padding-top:30px;padding-bottom:0}
.nordic-inner .company-values p,.nordic-inner .project-count,.nordic-inner .company-status{color:var(--muted)}
.nordic-inner .project-filters{border-bottom:1px solid var(--line);padding-bottom:8px;gap:24px}
.nordic-inner .project-filters button{min-height:44px;font:500 13px/1.5 var(--font-body);color:var(--muted)}
.nordic-inner .project-filters button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}
.nordic-inner .project-gallery button{background:transparent;box-shadow:none;color:var(--ink)}
.nordic-inner .project-gallery button span{padding:14px 0;font-size:12px}
.nordic-inner .project-gallery button img{border-radius:2px}
.nordic-inner .contact-info-grid{gap:5%;padding-top:25px;border-top:1px solid var(--line);margin-bottom:55px}
.nordic-inner .contact-info-grid article p{color:var(--muted)}
.nordic-inner .contact-label{font:550 14px/1.6 var(--font-body);margin:24px 0 12px}
.nordic-inner .company-map,.nordic-inner .map-placeholder{border-radius:2px;background:var(--warm)}
.nordic-inner .teak-wrap{width:calc(100% - 2 * var(--site-gutter));max-width:none}
.nordic-inner .teak-hero{padding-top:45px;padding-bottom:80px}
.nordic-inner .teak-hero h1{max-width:12ch;overflow-wrap:normal}
.nordic-inner .teak-hero-photo{height:500px;min-height:0}
.page-index{display:flex;flex-wrap:wrap;gap:12px 30px;padding:10px 0 18px;margin:0 var(--site-gutter);border-bottom:1px solid var(--line)}
.page-index a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--muted);font:500 12px/1.5 var(--font-body);text-decoration:none}
.page-index a:is(:hover,:focus-visible){color:var(--ink);text-decoration:underline}
.nordic-inner.room-page main{max-width:none;padding:0 var(--site-gutter) 80px}
.nordic-inner.room-page .intro{padding:45px 0 40px;gap:6%}
.nordic-inner.room-page .intro h1{font:400 clamp(42px,4.5vw,64px)/1.12 var(--font-display);letter-spacing:-.025em;margin:0 0 20px}
.nordic-inner.room-page .intro>div>p{font-size:14px;line-height:1.85;color:var(--muted);max-width:65ch}
.nordic-inner.room-page .privacy{color:var(--muted);font-size:12px;line-height:1.85}
.not-found-page{display:block;min-height:100svh;padding:0}
.not-found-page main{width:auto;max-width:1268px;margin:0 auto;padding:80px var(--site-gutter) 120px;min-height:65svh}
.not-found-page main h1{max-width:12ch;font:400 clamp(48px,6vw,84px)/1.08 var(--font-display);letter-spacing:-.025em}
.not-found-page main p:not(.eyebrow){max-width:55ch;color:var(--muted);font:400 16px/1.85 var(--font-body)}
.not-found-page .button{display:inline-flex;gap:16px;align-items:center;padding:8px 0;margin-top:22px;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;color:var(--ink);font:500 13px var(--font-body)}
@media(max-width:1100px){.site-footer .footer-top{grid-template-columns:140px 1fr 1fr;gap:30px}.site-footer .footer-top>p{grid-row:2}.site-footer .footer-top>div{grid-row:1 / span 2}.nordic-inner .site-header .brand{width:134px}}
@media(max-width:1100px){
 .nordic .site-header-home .header-actions{display:flex;margin-left:auto;align-items:center}.nordic .site-header-home #sales-points-open{display:none}.nordic .site-header-home #menu-toggle{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink);padding:10px;pointer-events:auto}
 .nordic .site-header-home[data-nav-ready] #navigation{display:none;position:absolute;inset:110px 6% auto;width:auto;max-width:none;padding:18px 24px;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:2px;box-shadow:none;z-index:25}
 .nordic .site-header-home[data-nav-ready] #navigation.open{display:flex}.nordic .site-header-home #navigation a{position:static;inset:auto;font-size:14px;min-height:48px;padding:8px 0}
 .nordic .site-header-home[data-nav-ready] #navigation a{color:var(--ink)}
 @media(scripting:none){.nordic .site-header-home:not([data-nav-ready]){position:relative;height:auto;max-height:none;flex-wrap:wrap;align-items:center;padding-bottom:20px}.nordic .site-header-home:not([data-nav-ready]) #navigation{position:static;display:flex;width:100%;max-width:none;flex-wrap:wrap;justify-content:flex-start;gap:0 24px}.nordic .site-header-home:not([data-nav-ready]) .header-actions{display:none}}
 .nordic-inner .site-header{height:104px;padding:6px var(--site-gutter);gap:18px;flex-wrap:nowrap}
 .nordic-inner .site-header .brand{width:124px;height:92px}
 .site-header .site-menu-toggle{display:inline-flex;margin-left:auto}
 .nordic-inner .site-header .site-header-actions{display:block;margin-left:auto}
 .nordic-inner .site-header[data-nav-ready] .site-nav{display:none;position:absolute;inset:100% 6% auto;margin:0;padding:18px 24px;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:2px;z-index:25}
 .nordic-inner .site-header[data-nav-ready] .site-nav.open{display:flex}
 .nordic-inner .site-header .site-nav a{min-height:48px;font-size:14px;padding:8px 0}
 @media(scripting:none){.nordic-inner .site-header:not([data-nav-ready]){height:auto;min-height:104px;flex-wrap:wrap}
 .nordic-inner .site-header:not([data-nav-ready]) .site-nav{width:100%;flex-wrap:wrap;margin:0;gap:10px 24px;padding-bottom:20px}
 .nordic-inner .site-header:not([data-nav-ready]) .site-menu-toggle{display:none}}
}
@media(min-width:761px) and (max-width:1100px){.nordic[data-hero-room=teras] .site-header-home #menu-toggle{color:var(--paper)}}
@media(max-width:760px){
 :root{--site-section:55px}
 .nordic .site-footer{padding:40px var(--site-gutter) 25px}
 .site-footer .footer-top{grid-template-columns:1fr 1fr;gap:26px 20px}
 .site-footer .footer-top>.brand{width:110px}.site-footer .footer-brand-image{width:110px;height:94px}
 .site-footer .footer-top>p{grid-row:auto;margin:15px 0 0;font-size:27px}
 .site-footer .footer-top>div{grid-row:auto;padding-top:0;gap:4px;font-size:12px;min-width:0}
 .site-footer a{min-height:44px;line-height:1.7}
 .site-footer .footer-bottom{margin-top:30px;gap:8px 20px;align-items:flex-start;font-size:11px}
 .site-footer .footer-bottom>span{width:100%}
 .site-footer .site-tool-note{margin-bottom:32px;padding-bottom:24px}
 .nordic-inner .company-wrap{padding-top:30px}
 .nordic-inner .company-hero{padding-top:15px;padding-bottom:45px;gap:30px}
 .nordic-inner .company-hero h1,.nordic-inner .professional-hero h1,.nordic-inner .teak-hero h1{font-size:44px;margin-bottom:24px}
 .nordic-inner .company-hero p:not(.eyebrow),.nordic-inner .professional-hero p,.nordic-inner .teak-lede{font-size:14px}
 .nordic-inner .company-prose{padding:35px 0}
 .nordic-inner .contact-info-grid{gap:12px;margin-bottom:35px}
 .nordic-inner .teak-hero{padding-top:35px;padding-bottom:45px;gap:30px}
 .nordic-inner .teak-hero-photo{height:340px}
 .page-index{gap:0 24px;padding-top:0;padding-bottom:10px}
 .nordic-inner.room-page main{padding-bottom:45px}
 .nordic-inner.room-page .intro{padding:30px 0;gap:24px}
 .nordic-inner.room-page .intro h1{font-size:40px}
 .not-found-page main{padding-top:50px;padding-bottom:70px;min-height:55svh}
}
@media(prefers-reduced-motion:no-preference){.site-header .site-nav.open{animation:gecko-menu-arrive 220ms var(--site-ease)}@keyframes gecko-menu-arrive{from{opacity:.5;clip-path:inset(0 0 12%)}to{opacity:1;clip-path:inset(0)}}.site-footer a .ui-icon{transition:transform 220ms var(--site-ease)}.site-footer a:is(:hover,:focus-visible) .ui-icon{transform:translate(2px,-2px)}}
html[data-motion=off] .site-header .site-nav{animation:none}
/* Keep navigation coordinates independent of the page, font loading and locale hydration. */
body.nordic{position:relative}
.nordic [data-site-header]{direction:ltr;width:100%}
.site-header .site-language{width:46px;min-height:44px;box-sizing:border-box}
.site-header .site-language>summary{width:100%;box-sizing:border-box}
@media(min-width:1101px){
 .nordic .site-header :is(#navigation,#site-navigation){position:absolute;inset:2.8vw 10% auto auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,1.15fr) minmax(0,.85fr) minmax(0,.95fr) minmax(0,1.4fr);width:680px;max-width:none;gap:clamp(14px,1.9vw,28px);margin:0;padding:0;align-items:center;justify-content:normal;background:transparent;border:0;box-shadow:none}
 .nordic .site-header :is(#navigation,#site-navigation) a{position:static;inset:auto;display:flex;align-items:center;min-width:0;min-height:44px;padding:0;font:550 clamp(11px,1.1vw,16px)/1.4 var(--font-body);white-space:nowrap}
 body.nordic .site-header :is(.header-actions,.site-header-actions){position:absolute;inset:2.8vw 4% auto auto;display:flex;align-items:center;gap:16px;margin:0}
}
@media(max-width:1100px){
 body.nordic .site-header :is(.header-actions,.site-header-actions){position:absolute;inset:30px 6% auto auto;display:flex;align-items:center;gap:16px;margin:0}
 .nordic .site-header [data-site-menu]{margin:0;width:44px;height:44px;box-sizing:border-box}
 .nordic .site-header[data-nav-ready] :is(#navigation,#site-navigation){inset:110px 6% auto;margin:0}
 @media(scripting:enabled){.nordic .site-header :is(#navigation,#site-navigation):not(.open){display:none}}
}
html{scrollbar-gutter:stable}
/* Lenis 1.3.27 integration; retain native touch, nested controls and modal scrolling. */
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto!important}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:hidden}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}
/* Quiet editorial continuity: the menu stays in place while the page dissolves. */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
@media(prefers-reduced-motion:no-preference){
 @supports(view-transition-name:none){
  .nordic-inner main{animation:gecko-route-entry 420ms var(--site-ease)}
  html[data-page-transition=native] .nordic-inner main{animation:none}
  [data-site-navigation]{view-transition-name:site-navigation}
  .site-header .site-language{view-transition-name:site-language}
  [data-site-menu]{view-transition-name:site-menu}
  ::view-transition-old(root){animation:gecko-route-out 180ms ease-out both;mix-blend-mode:normal}
  ::view-transition-new(root){animation:gecko-route-in 420ms var(--site-ease) both;mix-blend-mode:normal}
  ::view-transition-group(site-navigation),::view-transition-group(site-language),::view-transition-group(site-menu){animation:none}
  ::view-transition-old(site-navigation),::view-transition-old(site-language),::view-transition-old(site-menu){animation:none;opacity:0}
  ::view-transition-new(site-navigation),::view-transition-new(site-language),::view-transition-new(site-menu){animation:none;opacity:1}
 }
 @keyframes gecko-route-out{to{opacity:0}}
 @keyframes gecko-route-in{from{opacity:0;clip-path:inset(0 0 2%)}to{opacity:1;clip-path:inset(0)}}
 @keyframes gecko-route-entry{from{opacity:.55}to{opacity:1}}
}
html[data-motion=off]::view-transition-group(*),html[data-motion=off]::view-transition-old(*),html[data-motion=off]::view-transition-new(*){animation:none!important}
@media print{.site-header,.site-footer,.page-index{display:none!important}}

.nordic[data-hero-room=teras] .site-footer .brand img{filter:none}
