/* Sammivik Media Group — test site. Brand colours from sammivik.gl (Astra globals). */
@font-face{font-family:"Souvenir Web";font-weight:500 700;font-display:swap;
  /* Licensed ITC Souvenir Std Demi is used if installed locally; otherwise the OFL fallback (Fraunces, soft) below. */
  src:local("ITC Souvenir Std Demi"),local("SouvenirStd-Demi"),local("Souvenir Demi"),url("/assets/fonts/fraunces-soft.woff2") format("woff2");}
@font-face{font-family:"Nunito Sans";font-weight:400;font-display:swap;src:url("/assets/fonts/nunito-sans-400.woff2") format("woff2")}
@font-face{font-family:"Nunito Sans";font-weight:700;font-display:swap;src:url("/assets/fonts/nunito-sans-700.woff2") format("woff2")}

:root{
  --green:#07503e; --green-deep:#053c2f; --green-ink:#06140c; --sage:#75a89c; --mint:#edf6ee;
  --paper:#f8f8f5; --white:#fff; --yellow:#eee15b; --yellow-soft:#f6eea0; --muted:#4f5f58; --line:#d9e3dc;
  --display:"Souvenir Web",Georgia,"Times New Roman",serif;
  --body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease-out:cubic-bezier(0.23,1,0.32,1); --ease-in-out:cubic-bezier(0.77,0,0.175,1); --ease-drawer:cubic-bezier(0.32,0.72,0,1);
  --pad:clamp(20px,5vw,72px); --max:1240px; --radius:14px;
  --header-h:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px)}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.6;color:var(--green-ink);background:var(--paper);overflow-x:clip}
@media (max-width:640px){body{font-size:16px}}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;margin:0;color:inherit;text-wrap:balance}
h1{font-size:clamp(2.5rem,5.2vw,4rem);line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.12;letter-spacing:-.005em}
h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2}
h4{font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.3}
p{margin:0 0 1em}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.5;color:var(--muted);max-width:44em}
.eyebrow{font:700 .78rem/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 14px;display:inline-flex;gap:10px;align-items:center}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.on-dark .eyebrow{color:var(--yellow)}
mark,.hl{background:linear-gradient(transparent 58%,var(--yellow) 58% 92%,transparent 92%);color:inherit;padding:0 .08em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.section{padding:clamp(72px,11vw,150px) 0}
.section.tight{padding:clamp(56px,7vw,96px) 0}
.on-dark{background:var(--green);color:var(--paper)}
.on-dark .lead,.on-dark .muted{color:#cfe2da}
.bg-mint{background:var(--mint)}
.muted{color:var(--muted)}
.skip{position:absolute;left:12px;top:-60px;background:var(--yellow);color:var(--green-ink);padding:10px 16px;border-radius:8px;z-index:200;font-weight:700}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
.on-paper :focus-visible,.site-header.is-solid :focus-visible{outline-color:var(--green)}

/* Buttons */
.btn{--bg:var(--yellow);--fg:var(--green-ink);display:inline-flex;align-items:center;gap:10px;background:var(--bg);color:var(--fg);font:700 1rem/1.2 var(--body);letter-spacing:.01em;padding:15px 26px;border-radius:999px;text-decoration:none;border:2px solid var(--bg);cursor:pointer;
  transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease,border-color 200ms ease;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.btn:active{transform:scale(.97)}
.btn .arr{transition:transform 200ms var(--ease-out)}
.btn.ghost{--bg:transparent;--fg:currentColor;border-color:currentColor}
.btn.green{--bg:var(--green);--fg:var(--paper)}
.btn.small{padding:10px 18px;font-size:.92rem}
@media (hover:hover) and (pointer:fine){
  .btn:hover .arr{transform:translateX(3px)}
  .btn:not(.ghost):hover{--bg:#f3e97a}
  .btn.green:hover{--bg:var(--green-deep)}
  .btn.ghost:hover{background:rgba(255,255,255,.08)}
}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
a,button{touch-action:manipulation}

/* Placeholder + confirm markers */
.ph-tag{display:inline-block;font:700 .68rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;background:#fff7c2;color:#5b4b00;border:1.5px dashed #c9a800;border-radius:6px;padding:4px 7px;vertical-align:middle;margin-left:6px;white-space:nowrap}
.ph-note{border:2px dashed #c9a800;background:#fffbe0;color:#4b3f00;border-radius:10px;padding:12px 14px;font-size:.92rem;margin:16px 0}
.on-dark .ph-note{background:rgba(238,225,91,.12);color:var(--yellow-soft);border-color:var(--yellow)}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:60;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--pad) 0;display:flex;align-items:center;gap:18px;color:var(--paper)}
.site-header::before{content:"";position:absolute;inset:0;background:rgba(248,248,245,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);opacity:0;transition:opacity 240ms ease;z-index:-1}
.site-header.is-solid{color:var(--green-ink)}
.site-header.is-solid::before{opacity:1}
.brand{position:relative;display:block;width:112px;height:60px;flex:none}
.brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity 240ms ease}
.brand .logo-dark{opacity:0}
.site-header.is-solid .brand .logo-dark{opacity:1}.site-header.is-solid .brand .logo-light{opacity:0}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{text-decoration:none;font-weight:700;font-size:.97rem;padding:9px 12px;border-radius:999px;transition:background-color 200ms ease}
.nav a[aria-current="page"]{background:rgba(238,225,91,.9);color:var(--green-ink)}
@media (hover:hover) and (pointer:fine){.nav a:not([aria-current]):hover{background:rgba(127,160,150,.18)}}
.lang{display:inline-flex;border:1.5px solid currentColor;border-radius:999px;padding:2px;margin-left:6px}
.lang a{font:700 .78rem/1 var(--body);letter-spacing:.08em;padding:7px 10px;border-radius:999px;text-decoration:none;user-select:none;-webkit-user-select:none}
.lang a[aria-current="true"]{background:currentColor}
.lang a[aria-current="true"] span{color:var(--green)}
.site-header.is-solid .lang a[aria-current="true"] span{color:var(--paper)}
.header-cta{margin-left:6px}
.menu-btn{display:none;margin-left:auto;background:none;border:0;color:inherit;width:46px;height:46px;border-radius:12px;cursor:pointer;user-select:none;-webkit-user-select:none;position:relative}
.menu-btn span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;border-radius:2px;transition:transform 220ms var(--ease-out),opacity 160ms ease}
.menu-btn span:nth-child(1){transform:translateY(-6px)}.menu-btn span:nth-child(3){transform:translateY(6px)}
.menu-open .menu-btn span:nth-child(1){transform:rotate(45deg)}.menu-open .menu-btn span:nth-child(2){opacity:0}.menu-open .menu-btn span:nth-child(3){transform:rotate(-45deg)}
.menu-btn:active{transform:scale(.95)}
.mobile-menu{position:fixed;inset:0;z-index:55;background:var(--green);color:var(--paper);padding:calc(var(--header-h) + env(safe-area-inset-top,0px) + 24px) var(--pad) calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px;
  transform:translateY(-100%);visibility:hidden;transition:transform 340ms var(--ease-drawer),visibility 0s linear 340ms;overscroll-behavior:contain;overflow-y:auto}
.menu-open .mobile-menu{transform:none;visibility:visible;transition:transform 340ms var(--ease-drawer),visibility 0s}
.mobile-menu a.mm{font:600 clamp(1.8rem,8vw,2.6rem)/1.2 var(--display);text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(248,248,245,.14);opacity:0;transform:translateY(10px);transition:opacity 260ms ease,transform 300ms var(--ease-out)}
.menu-open .mobile-menu a.mm{opacity:1;transform:none}
.mobile-menu a.mm[aria-current="page"]{color:var(--yellow)}
.mobile-menu .mm-foot{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:14px;font-size:.95rem;color:#cfe2da}
.menu-open .site-header{color:var(--paper)}.menu-open .site-header::before{opacity:0}
.menu-open .brand .logo-dark{opacity:0}.menu-open .brand .logo-light{opacity:1}
@media (max-width:980px){.nav,.header-cta{display:none}.menu-btn{display:block}.site-header .lang{margin-left:auto}.site-header .menu-btn{margin-left:4px}}
body.menu-open{overflow:hidden}

/* Inner page hero */
.page-hero{padding:calc(var(--header-h) + clamp(56px,9vw,120px)) 0 clamp(48px,6vw,80px);position:relative;overflow:hidden}
.page-hero h1{max-width:16em}
.page-hero .lead{margin-top:20px}
.page-hero .facets{position:absolute;right:-60px;top:40px;width:min(42vw,460px);opacity:.9;pointer-events:none}
@media (max-width:760px){.page-hero .facets{width:60vw;right:-30vw;top:70px;opacity:.35}}
.crumbs{font-size:.9rem;margin-bottom:18px;color:var(--muted)}.crumbs a{color:inherit}

/* Reveal on scroll (transform + opacity only) */
.motion .rv{opacity:0;transform:translateY(18px);transition:opacity 600ms var(--ease-out),transform 700ms var(--ease-out)}
.motion .rv.is-in{opacity:1;transform:none}

/* Grid helpers */
.grid{display:grid;gap:clamp(18px,2.4vw,32px)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(28px,4vw,52px);flex-wrap:wrap}
.section-head h2{max-width:18em}

/* Work cards */
.card{position:relative;display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 0 var(--line),0 10px 30px -18px rgba(6,20,12,.35);transition:transform 260ms var(--ease-out),box-shadow 260ms ease}
.card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--mint)}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease-out)}
.card .body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:1.35rem;line-height:1.25}
.card .meta{font-size:.86rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:700 .72rem/1 var(--body);letter-spacing:.04em;padding:6px 9px;border-radius:999px;background:var(--mint);color:var(--green)}
.card .more{margin-top:auto;padding-top:8px;font-weight:700;color:var(--green);display:inline-flex;gap:6px;align-items:center}
.card:active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){.card:hover{transform:translateY(-4px);box-shadow:0 1px 0 var(--line),0 22px 40px -22px rgba(6,20,12,.45)}.card:hover .thumb img{transform:scale(1.04)}}
.card.feature{grid-column:span 2}
.card.feature .thumb{aspect-ratio:16/8}
@media (max-width:640px){.card.feature{grid-column:auto}.card.feature .thumb{aspect-ratio:16/10}}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:32px;align-items:center}
.fgroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fgroup .flabel{font:700 .74rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.fbtn{font:700 .92rem/1 var(--body);padding:11px 15px;border-radius:999px;border:1.5px solid var(--line);background:var(--white);color:var(--green-ink);cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform 140ms var(--ease-out),background-color 180ms ease,border-color 180ms ease,color 180ms ease}
.fbtn:active{transform:scale(.96)}
.fbtn[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--paper)}
@media (hover:hover) and (pointer:fine){.fbtn[aria-pressed="false"]:hover{border-color:var(--sage)}}
@media (max-width:640px){.filters{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.fgroup{min-width:0;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;margin:0 calc(-1*var(--pad));padding:2px var(--pad);scrollbar-width:none}.fgroup::-webkit-scrollbar{display:none}.fbtn{flex:none;scroll-snap-align:start}}
.work-grid .card.is-hidden{display:none}
.work-grid .card.is-entering{animation:cardIn 420ms var(--ease-out) both}
@keyframes cardIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.empty{display:none;padding:40px 0;color:var(--muted)}
.count{font-size:.92rem;color:var(--muted);margin:-12px 0 22px}

/* Who we serve */
.serve{background:var(--white);border-radius:var(--radius);padding:28px 26px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line)}
.serve .ico{width:56px;height:56px;border-radius:16px;background:var(--mint);display:grid;place-items:center}
.serve ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:.95rem}
.serve li a{color:var(--green);font-weight:700;text-decoration:none}
.serve li a::before{content:"→ "}

/* Quotes */
.quote-main{font:600 clamp(1.4rem,2.6vw,2.1rem)/1.35 var(--display);margin:0;max-width:30em}
.quote-main::before{content:"“";display:block;font-size:4em;line-height:.6;color:var(--yellow);margin-bottom:10px}
.cite{margin-top:22px;display:flex;align-items:center;gap:14px;font-weight:700}
.cite small{display:block;font-weight:400;opacity:.8}
.stars{color:var(--yellow);letter-spacing:2px}
.quote-card{background:rgba(248,248,245,.06);border:1px solid rgba(248,248,245,.16);border-radius:var(--radius);padding:24px}
.quote-card p{font-size:1rem}
.translated{font-size:.82rem;opacity:.75;font-style:italic}

/* Logos */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.logos figure{margin:0;background:var(--white);border-radius:12px;border:1px solid var(--line);height:96px;display:grid;place-items:center;padding:14px}
.logos img{max-height:62px;width:auto;object-fit:contain}

/* Video */
.player{position:relative;border-radius:var(--radius);overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 30px 60px -30px rgba(6,20,12,.6)}
.player video{width:100%;height:100%;object-fit:contain;background:#000}
.player .play-overlay{position:absolute;inset:0;border:0;padding:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--green-ink)}
.player .play-overlay img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.player .play-overlay .pbtn{position:relative;display:inline-flex;align-items:center;gap:12px;background:var(--yellow);border-radius:999px;padding:14px 22px 14px 16px;font:700 1rem/1 var(--body);box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform 160ms var(--ease-out)}
.player .play-overlay .pbtn i{width:36px;height:36px;border-radius:50%;background:var(--green);display:grid;place-items:center}
.player .play-overlay:active .pbtn{transform:scale(.96)}
@media (hover:hover) and (pointer:fine){.player .play-overlay:hover .pbtn{transform:scale(1.04)}}
.player.is-playing .play-overlay{display:none}
.vcap{font-size:.85rem;color:var(--muted);margin-top:10px}

/* Project page */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 26px;margin:26px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}
.facts dt{font:700 .72rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:4px 0 0;font-weight:700}
.case{display:grid;gap:18px;counter-reset:c}
.case .row{display:grid;grid-template-columns:200px 1fr;gap:28px;padding:26px 0;border-top:1px solid var(--line)}
.case .row h3{font-size:1.25rem}.case .row .k{font:700 .74rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
@media (max-width:760px){.case .row{grid-template-columns:1fr;gap:6px}}
.prose{max-width:42em}.prose p{font-size:1.06rem}
.quotes-list{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.quotes-list li{font:600 1.2rem/1.4 var(--display);padding-left:18px;border-left:4px solid var(--yellow)}
.next-proj{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cta-box{background:var(--green);color:var(--paper);border-radius:22px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
@media (max-width:760px){.cta-box{grid-template-columns:1fr}}

/* Process page */
.steps-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.steps-list li{display:grid;grid-template-columns:90px 1fr 1.2fr;gap:24px;padding:30px 0;border-top:1px solid var(--line);align-items:start}
.steps-list .n{font:600 2.6rem/1 var(--display);color:var(--sage)}
@media (max-width:760px){.steps-list li{grid-template-columns:56px 1fr;gap:8px 16px}.steps-list li p{grid-column:2}.steps-list .n{font-size:2rem}}
.pkg{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:10px}
.pkg h3{font-size:1.5rem}.pkg .sub{font-weight:700;color:var(--green);font-size:.95rem}
.pkg ul{padding-left:18px;margin:0;font-size:.97rem}
.pkg .price{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);font-weight:700;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.style-card{border-radius:var(--radius);padding:26px;background:var(--mint)}
details.faq{border-top:1px solid var(--line);padding:4px 0}
details.faq summary{cursor:pointer;list-style:none;font:600 1.2rem/1.35 var(--display);padding:18px 40px 18px 0;position:relative}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font:400 1.6rem/1 var(--body);transition:transform 200ms var(--ease-out)}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq p{color:var(--muted);max-width:44em}

/* About */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.member{margin:0}
.member .ph{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--mint)}
.member img{width:100%;height:100%;object-fit:cover}
.member h3{font-size:1.3rem;margin-top:14px}.member .role{font-weight:700;color:var(--green);font-size:.92rem;margin:2px 0 6px}
.member p{font-size:.95rem;color:var(--muted);margin:0}
.member a{font-size:.9rem;font-weight:700;color:var(--green)}
.founder{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:center}
.founder .ph{border-radius:22px;overflow:hidden;aspect-ratio:4/5}.founder .ph img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.founder{grid-template-columns:1fr}.founder .ph{max-width:360px}}
.langs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.langs div{border-radius:var(--radius);padding:24px;background:rgba(248,248,245,.07);border:1px solid rgba(248,248,245,.16)}
.langs b{font:600 2.4rem/1 var(--display);color:var(--yellow);display:block;margin-bottom:8px}
@media (max-width:760px){.langs{grid-template-columns:1fr}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.cbox{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:6px}
.cbox .k{font:700 .74rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cbox a.big,.cbox .big{font:600 1.35rem/1.3 var(--display);text-decoration:none;color:var(--green);word-break:break-word}

/* Footer */
.site-footer{background:var(--green-ink);color:#cfe2da;padding:clamp(56px,7vw,90px) 0 calc(28px + env(safe-area-inset-bottom,0px));font-size:.95rem}
.site-footer .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:860px){.site-footer .fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-footer .fgrid{grid-template-columns:1fr}}
.site-footer h4{font:700 .78rem/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);margin-bottom:12px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer a{color:var(--paper);text-decoration:none}
@media (hover:hover) and (pointer:fine){.site-footer a:hover{text-decoration:underline}}
.site-footer .legal{margin-top:44px;padding-top:20px;border-top:1px solid rgba(248,248,245,.12);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.85rem}
.test-flag{display:inline-flex;gap:8px;align-items:center;background:rgba(238,225,91,.14);color:var(--yellow);border:1px dashed var(--yellow);border-radius:999px;padding:5px 12px;font-weight:700;font-size:.8rem}

/* ===== HOME: scroll story (adapted from the landing prototype) ===== */
.hero{position:relative;height:100svh;min-height:520px;overflow:hidden;background:var(--green)}
.hero .scene-bg,.hero .veil{position:absolute;inset:0;width:100%;height:100%}
.hero .veil{transform-origin:50% 50%;pointer-events:none}
.hero .headline{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);pointer-events:none;color:var(--paper)}
.hero h1{font-size:clamp(2.9rem,10.5vw,9.6rem);line-height:.98;letter-spacing:-.02em;white-space:nowrap;text-shadow:0 6px 30px rgba(5,60,47,.55)}
.hero h1 .w{display:block}
.hero h1 .w1{align-self:flex-start;margin-left:4vw}
.hero h1 .w2{color:var(--yellow);text-align:right;margin-right:4vw}
.hero .hero-foot{position:absolute;left:0;right:0;bottom:calc(5vh + env(safe-area-inset-bottom,0px));padding:0 var(--pad);display:flex;justify-content:space-between;align-items:end;gap:24px;color:var(--paper)}
.hero .hero-foot p{max-width:30em;margin:0;font-size:clamp(1rem,1.4vw,1.15rem);color:#e3efe9}
.hero .scroll-cue{font:700 .74rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;display:flex;gap:10px;align-items:center;white-space:nowrap}
.hero .scroll-cue i{width:2px;height:34px;background:var(--yellow);transform-origin:top;animation:cue 1.8s var(--ease-in-out) infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media (max-width:760px){.hero .hero-foot{flex-direction:column;align-items:flex-start}.hero .scroll-cue{display:none}.hero h1 .w1{margin-left:0}.hero h1 .w2{margin-right:0}}
.hero .btn-row{pointer-events:auto}

.intro .split{align-items:center}
.facts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.facts-row div{border-top:2px solid var(--green);padding-top:12px}
.facts-row b{display:block;font:600 1.6rem/1.1 var(--display);color:var(--green)}
.facts-row span{font-size:.92rem;color:var(--muted)}
@media (max-width:520px){.facts-row{grid-template-columns:1fr}}

.story{background:var(--green);color:var(--paper);position:relative}
.story .story-head{padding:clamp(80px,10vw,140px) var(--pad) 0;max-width:var(--max);margin:0 auto}
.story .story-head h2{max-width:14em}
.stage{height:100svh;display:grid;grid-template-columns:minmax(260px,1fr) 1.45fr;gap:4vw;align-items:center;padding:calc(var(--header-h) + 20px) var(--pad) 40px;max-width:1500px;margin:0 auto}
.steps{position:relative;height:280px}
.step{position:absolute;inset:0}
.motion .step{opacity:0}
.step .num{font:700 .78rem/1 var(--body);letter-spacing:.16em;color:var(--yellow);text-transform:uppercase}
.step h3{font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.05;margin:.25em 0 .35em}
.step h3 em{font-style:normal;color:var(--yellow)}
.step p{color:#d4e6de;max-width:26em}
.canvas{background:var(--paper);border-radius:16px;aspect-ratio:16/10;width:100%;max-height:72svh;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);overflow:hidden;position:relative}
.canvas svg{width:100%;height:100%}
.canvas .tagline{position:absolute;left:16px;bottom:12px;font:700 .68rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.ln{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.thin{stroke-width:2}
.motion .scene{opacity:0}
.txt{font-family:var(--body);fill:var(--green);font-size:22px}
.txt.b{font-weight:700}
svg .y{fill:var(--yellow)}
.wave rect{fill:var(--yellow);stroke:var(--green);stroke-width:1.5;transform-box:fill-box;transform-origin:center}
.hsec{height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:var(--header-h)}
.hhead{padding:0 var(--pad) 4svh;max-width:1500px;width:100%;margin:0 auto}
.hhead h3{font-size:clamp(2rem,4.2vw,3.6rem)}.hhead h3 em{font-style:normal;color:var(--yellow)}
.hhead p{color:#d4e6de;max-width:34em}
.htrack{display:flex;gap:3vw;padding:0 var(--pad);width:max-content}
.sb{width:min(42vw,500px);flex:none;background:var(--paper);border-radius:14px;position:relative;box-shadow:0 30px 60px -24px rgba(0,0,0,.55);color:var(--green)}
.sb svg{width:100%;aspect-ratio:22/14}
.sb .cap{position:absolute;left:14px;top:12px;font:700 .7rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase}
.pin{position:absolute;right:-10px;top:-16px;display:flex;align-items:center;gap:8px}
.motion .pin{opacity:0}
.pin i{width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--green-ink);font:700 .8rem/30px var(--body);text-align:center;font-style:normal}
.pin span{background:var(--green-ink);color:var(--paper);font-size:.82rem;padding:7px 11px;border-radius:8px;white-space:nowrap}
.lsec{height:100svh;display:grid;grid-template-columns:1fr 1.3fr;gap:5vw;align-items:center;padding:var(--header-h) var(--pad) 0;max-width:1500px;margin:0 auto}
.lsec h3{font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.05}.lsec h3 em{font-style:normal;color:var(--yellow)}
.llist{list-style:none;padding:0;margin:26px 0 0}
.llist li{font:600 clamp(1.6rem,3.2vw,2.8rem)/1.2 var(--display);opacity:.3;border-top:1px solid rgba(248,248,245,.16);padding:.3em 0;transition:opacity 300ms ease,transform 400ms var(--ease-out)}
.llist li.on{opacity:1;transform:translateX(12px)}
.llist li small{font:700 .7rem/1 var(--body);letter-spacing:.16em;color:var(--yellow);margin-right:14px;vertical-align:middle}
.lvis{aspect-ratio:4/3;background:var(--paper);color:var(--green-ink);border-radius:16px;display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.lvis .phr{position:absolute;padding:0 9%;text-align:center}
.motion .lvis .phr{opacity:0}
.lvis .phr h4{font-size:clamp(1.3rem,2.6vw,2.2rem);line-height:1.25}
.lvis .phr p{font:700 .74rem/1.4 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-top:14px}
.lvis .sub-bar{position:absolute;left:8%;right:8%;bottom:9%;height:8px;border-radius:8px;background:var(--mint)}
.lvis .src{position:absolute;left:16px;top:14px;font:700 .66rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);max-width:70%}
.story-end{padding:0 var(--pad) clamp(70px,9vw,120px);max-width:1500px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}

.outro{position:relative;height:100svh;min-height:560px;overflow:hidden;background:var(--green)}
.outro .scene-bg,.outro .veil{position:absolute;inset:0;width:100%;height:100%}
.outro .veil{transform-origin:50% 50%}
.outro .ot{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:0 var(--pad) calc(10svh + env(safe-area-inset-bottom,0px));color:var(--paper)}
.outro h2{font-size:clamp(2.2rem,5.6vw,4.8rem);max-width:14em}
.outro p{color:#e3efe9;max-width:34em;margin:16px auto 26px}

@media (max-width:860px){
  .stage,.lsec{grid-template-columns:1fr;grid-template-rows:auto auto;gap:18px;align-content:center;padding-top:calc(var(--header-h) + 8px);padding-bottom:20px}
  .steps{height:190px}.step h3{font-size:clamp(1.8rem,8vw,2.4rem)}.step p{font-size:.95rem}
  .canvas{aspect-ratio:4/3;max-height:46svh}
  .sb{width:76vw}
  .lsec .llist{margin-top:12px}.lsec .llist li{font-size:1.4rem}
  .lvis{aspect-ratio:16/10}
  .lsec>div:first-child .lead-sm{display:none}
}
@media (max-width:860px) and (max-height:700px){.steps{height:170px}.step p{display:none}}

/* Reduced motion / no-JS: static layout of the story */
html:not(.motion) .step{position:static;margin-bottom:28px}
html:not(.motion) .steps{height:auto}
html:not(.motion) .stage{height:auto;min-height:0;padding-top:clamp(60px,8vw,100px);padding-bottom:clamp(40px,6vw,80px)}
html:not(.motion) .scene{display:none}
html:not(.motion) .scene.final{display:inline}
html:not(.motion) .hsec{height:auto;padding:clamp(60px,8vw,100px) 0}
html:not(.motion) .htrack{flex-wrap:wrap;width:auto;justify-content:center;gap:28px}
html:not(.motion) .lsec{height:auto;padding-top:clamp(60px,8vw,100px);padding-bottom:clamp(40px,6vw,80px)}
html:not(.motion) .lvis{display:flex;flex-direction:column;gap:26px;aspect-ratio:auto;padding:40px 0 60px}
html:not(.motion) .lvis .phr{position:static}
html:not(.motion) .llist li{opacity:1}
html:not(.motion) .outro .ot{justify-content:center;padding-top:30svh}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  .hero .scroll-cue i{animation:none}
  .motion .rv{transform:none;transition:opacity 300ms ease}
  .card,.card .thumb img,.btn,.fbtn{transition-property:opacity,background-color,color,border-color,box-shadow}
  .card:hover,.card:hover .thumb img{transform:none!important}
  .mobile-menu{transform:none;opacity:0;transition:opacity 200ms ease,visibility 0s linear 200ms}
  .menu-open .mobile-menu{opacity:1;transition:opacity 200ms ease,visibility 0s}
  .mobile-menu a.mm{transform:none}
  .work-grid .card.is-entering{animation:fadeIn 200ms ease both}
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.roots-art{width:100%;max-width:340px;margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

@media (max-width:640px){
  .brand{width:100px;height:54px}
  .hero .scene-bg,.hero .veil{height:72%}
  .hero .headline{bottom:28%}
}
.page-hero .wrap{position:relative;z-index:1}
@media (min-width:761px){.page-hero .facets{width:min(28vw,360px)}.page-hero h1{max-width:13em}.page-hero .lead{max-width:36em}}
@media (max-width:640px){.outro .ot{padding-bottom:calc(6svh + env(safe-area-inset-bottom,0px))}}
/* Start-project CTA (home) + package link */
.start-cta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--green);color:var(--paper);border-radius:22px;padding:clamp(28px,5vw,60px)}
.start-cta h2{color:var(--paper);font-size:clamp(1.8rem,3.4vw,2.8rem)}
.start-cta p{color:#cfe2da;margin:12px 0 0}
.sc-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sc-steps li{display:flex;align-items:center;gap:14px;background:rgba(248,248,245,.07);border:1px solid rgba(248,248,245,.14);border-radius:14px;padding:12px 16px;font-weight:700}
.sc-steps li span{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--green-ink);font-size:.85rem}
@media (max-width:760px){.start-cta{grid-template-columns:1fr}}
.pkg-start{display:inline-block;margin-top:14px;font-weight:700;color:var(--green);text-decoration:none}
@media (hover:hover) and (pointer:fine){.pkg-start:hover{text-decoration:underline}}
.legal a{color:inherit}
/* Long compound words (Greenlandic especially) must wrap instead of widening the page */
h1,h2,h3,h4,p,li,dd,dt,blockquote,figcaption,label,legend,summary,.btn,.chip,.opt-t,.sc-t{overflow-wrap:break-word}
:lang(kl) h1,:lang(kl) h2,:lang(kl) h3,:lang(kl) h4,:lang(kl) p,:lang(kl) li,:lang(kl) dd,:lang(kl) summary,:lang(kl) .btn,:lang(kl) label{overflow-wrap:anywhere;hyphens:auto}
.btn{max-width:100%;white-space:normal}
/* Three-way language switch on small phones */
@media (max-width:400px){.lang a{padding:7px 7px;letter-spacing:.04em}.site-header .lang{margin-left:auto}.brand{width:90px;height:50px}}
@media (max-width:340px){.lang a{padding:6px 5px;font-size:.72rem}.site-header{gap:6px}}
.split>*,.grid>*,.founder>*{min-width:0}
h1,h2,h3{hyphens:auto}
@media (max-width:1240px){html:lang(kl) .nav,html:lang(kl) .header-cta{display:none}html:lang(kl) .menu-btn{display:block}html:lang(kl) .site-header .lang{margin-left:auto}html:lang(kl) .site-header .menu-btn{margin-left:4px}}
.header-cta{white-space:nowrap}.nav a{white-space:nowrap}
.foot-seo{margin:10px 0 0}.foot-seo a{color:var(--yellow);font-weight:700;text-decoration:none}.foot-seo a:hover{text-decoration:underline}
