- Run record
- loading
Loading this Run…
Loading the Revisions of this Run…
A published source file of Revision 0 of Fjora — Taste the North 1.2.0, shown as text in the browser.
Source is browser-viewable only. There is no download or archive endpoint, and no additional license is granted beyond inspection and research.
:root {
color: #102e32;
background: #f2f0ea;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-synthesis: none;
text-rendering: optimizeLegibility;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
background: #f2f0ea;
}
body {
min-width: 320px;
margin: 0;
overflow-x: hidden;
}
button,
a {
-webkit-tap-highlight-color: transparent;
}
button {
font: inherit;
}
a {
color: inherit;
text-decoration: none;
}
img {
display: block;
max-width: 100%;
}
.shell {
width: min(100% - 96px, 1296px);
margin-inline: auto;
}
.section {
scroll-margin-top: 32px;
}
.eyebrow {
display: flex;
align-items: center;
gap: 10px;
margin: 0;
color: #39615d;
font-size: 10px;
font-weight: 700;
letter-spacing: .16em;
line-height: 1.2;
text-transform: uppercase;
}
.eyebrow > span {
width: 22px;
height: 1px;
background: currentColor;
}
.eyebrow--light {
color: rgba(248, 248, 242, .82);
}
.wordmark {
display: inline-flex;
align-items: center;
gap: 7px;
color: #f6f5ef;
font-family: Georgia, "Times New Roman", serif;
font-size: 27px;
font-weight: 400;
letter-spacing: -.075em;
line-height: 1;
}
.wordmark--dark {
color: #11363a;
}
.wordmark__rune {
width: 23px;
height: 23px;
overflow: visible;
fill: none;
stroke: currentColor;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.2;
}
.hero {
position: relative;
isolation: isolate;
min-height: min(900px, 100svh);
height: 100svh;
min-height: 680px;
overflow: hidden;
color: #faf9f4;
background: #102d31;
}
.hero__image,
.hero__veil {
position: absolute;
inset: 0;
}
.hero__image {
z-index: -2;
background: url("/assets/hero-fjord.webp") center center / cover no-repeat;
transform: scale(1.01);
animation: hero-settle 1.5s cubic-bezier(.2,.65,.3,1) both;
}
.hero__veil {
z-index: -1;
background:
linear-gradient(90deg, rgba(4, 24, 30, .7) 0%, rgba(4, 24, 30, .33) 42%, rgba(3, 21, 28, .05) 70%),
linear-gradient(0deg, rgba(3, 23, 29, .52), transparent 35%, rgba(3, 18, 23, .16));
}
@keyframes hero-settle {
from { transform: scale(1.06); }
to { transform: scale(1.01); }
}
.site-header {
position: relative;
z-index: 3;
display: flex;
align-items: center;
justify-content: space-between;
width: min(100% - 96px, 1296px);
height: 96px;
margin-inline: auto;
border-bottom: 1px solid rgba(255, 255, 255, .25);
}
.brand-link {
display: inline-flex;
padding-block: 5px;
}
.site-nav {
display: flex;
align-items: center;
gap: 37px;
font-size: 11px;
letter-spacing: .08em;
text-transform: uppercase;
}
.site-nav a {
position: relative;
padding-block: 7px;
}
.site-nav a::after {
position: absolute;
bottom: 2px;
left: 0;
width: 100%;
height: 1px;
background: currentColor;
content: "";
transform: scaleX(0);
transform-origin: right;
transition: transform .25s ease;
}
.site-nav a:hover::after,
.site-nav a:focus-visible::after {
transform: scaleX(1);
transform-origin: left;
}
.menu-button {
display: none;
}
.hero__content {
display: flex;
flex-direction: column;
justify-content: center;
min-height: calc(100% - 96px);
padding: 54px 0 102px;
}
.hero h1,
.section-heading h2,
.story h2,
.faq h2 {
margin: 0;
font-family: Georgia, "Times New Roman", serif;
font-weight: 400;
letter-spacing: -.07em;
}
.hero h1 {
max-width: 780px;
margin-top: 27px;
font-size: clamp(74px, 10.1vw, 156px);
line-height: .78;
}
.hero__bottom {
display: flex;
align-items: flex-end;
justify-content: space-between;
max-width: 795px;
margin-top: 49px;
}
.hero__intro {
width: 285px;
margin: 0;
color: rgba(255, 255, 255, .88);
font-size: 15px;
line-height: 1.55;
}
.button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 14px;
min-height: 50px;
padding: 0 19px;
border: 1px solid transparent;
font-size: 11px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.button--light {
color: #12383b;
background: #f6f5ef;
}
.button--light:hover,
.button--light:focus-visible {
color: #f6f5ef;
border-color: rgba(255,255,255,.65);
background: transparent;
}
.arrow {
width: 17px;
height: 17px;
fill: none;
stroke: currentColor;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.2;
}
.arrow--right {
transform: rotate(-90deg);
}
.hero__coordinates {
position: absolute;
right: max(48px, calc((100vw - 1296px) / 2));
bottom: 31px;
display: flex;
gap: 18px;
color: rgba(255,255,255,.72);
font-size: 9px;
letter-spacing: .12em;
}
.scroll-cue {
position: absolute;
bottom: 29px;
left: max(48px, calc((100vw - 1296px) / 2));
display: flex;
align-items: center;
gap: 9px;
color: rgba(255,255,255,.78);
font-size: 9px;
letter-spacing: .13em;
text-transform: uppercase;
}
.scroll-cue .arrow {
animation: gentle-bob 1.8s ease-in-out infinite;
}
@keyframes gentle-bob {
50% { transform: translateY(4px); }
}
.flavours {
padding: 138px 0 145px;
background:
radial-gradient(circle at 85% 10%, rgba(155, 193, 188, .22), transparent 18%),
#f2f0ea;
}
.section-heading {
display: flex;
align-items: flex-end;
justify-content: space-between;
}
.section-heading h2,
.story h2,
.faq h2 {
margin-top: 19px;
color: #12373b;
font-size: clamp(52px, 5.7vw, 86px);
line-height: .86;
}
h2 em {
font-style: italic;
font-weight: 400;
}
.section-heading__note {
width: 235px;
margin: 0 50px 6px 0;
color: #3e5c5b;
font-size: 14px;
line-height: 1.55;
}
.flavour-layout {
display: grid;
grid-template-columns: 42.5% 1fr;
gap: 8.5%;
margin-top: 80px;
}
.flavour-picker {
align-self: end;
border-top: 1px solid #bfc9c2;
}
.flavour-option {
position: relative;
display: grid;
grid-template-columns: 30px 72px minmax(0, 1fr);
align-items: center;
width: 100%;
min-height: 123px;
padding: 13px 0;
overflow: hidden;
color: #153a3c;
border: 0;
border-bottom: 1px solid #bfc9c2;
background: transparent;
cursor: pointer;
text-align: left;
}
.flavour-option__number,
.image-index,
.faq-item__number {
color: #61817b;
font-size: 9px;
font-weight: 700;
letter-spacing: .13em;
}
.flavour-option__image-wrap {
position: relative;
width: 54px;
height: 82px;
overflow: hidden;
background: #dfe5df;
transition: transform .35s ease;
}
.flavour-option__image {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(.78);
transition: filter .35s ease, transform .35s ease;
}
.flavour-option__copy {
display: flex;
flex-direction: column;
gap: 7px;
align-self: center;
padding-left: 12px;
font-family: Georgia, "Times New Roman", serif;
font-size: 24px;
letter-spacing: -.05em;
}
.flavour-option__copy small {
color: #607c77;
font-family: Inter, ui-sans-serif, sans-serif;
font-size: 9px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
}
.flavour-option__line {
position: absolute;
bottom: -1px;
left: 0;
width: 0;
height: 2px;
background: #1e5855;
transition: width .35s ease;
}
.flavour-option:hover .flavour-option__image,
.flavour-option:focus-visible .flavour-option__image,
.flavour-option--selected .flavour-option__image {
filter: saturate(1);
transform: scale(1.04);
}
.flavour-option:hover .flavour-option__image-wrap,
.flavour-option:focus-visible .flavour-option__image-wrap,
.flavour-option--selected .flavour-option__image-wrap {
transform: translateX(3px);
}
.flavour-option--selected .flavour-option__line {
width: 100%;
}
.flavour-option:focus-visible,
.button:focus-visible,
.site-nav a:focus-visible,
.brand-link:focus-visible,
.scroll-cue:focus-visible,
.footer a:focus-visible,
summary:focus-visible {
outline: 2px solid #d3a748;
outline-offset: 4px;
}
.flavour-detail {
display: grid;
grid-template-columns: minmax(230px, 46%) 1fr;
min-height: 474px;
background: #d9e3de;
}
.flavour-detail__image-wrap {
position: relative;
overflow: hidden;
background: #c9d8d1;
}
.flavour-detail__image {
width: 100%;
height: 100%;
min-height: 474px;
object-fit: cover;
object-position: center;
animation: image-reveal .45s ease both;
}
@keyframes image-reveal {
from { opacity: .35; transform: scale(1.025); }
to { opacity: 1; transform: scale(1); }
}
.image-index {
position: absolute;
z-index: 1;
top: 18px;
left: 18px;
padding: 6px 8px;
color: #214643;
background: rgba(244, 243, 236, .75);
backdrop-filter: blur(6px);
}
.flavour-detail__content {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 43px 37px 32px;
}
.flavour-detail__content h3 {
margin: 18px 0 25px;
color: #103a3d;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(34px, 3vw, 47px);
font-weight: 400;
letter-spacing: -.065em;
line-height: .9;
}
.tasting-note {
max-width: 275px;
margin: 0;
color: #375a58;
font-size: 14px;
line-height: 1.55;
}
.botanicals {
width: 100%;
margin-top: auto;
padding-top: 25px;
border-top: 1px solid rgba(39, 84, 80, .28);
}
.botanicals__label {
display: block;
margin-bottom: 10px;
color: #54746e;
font-size: 9px;
font-weight: 700;
letter-spacing: .15em;
text-transform: uppercase;
}
.botanicals ul {
display: flex;
flex-wrap: wrap;
gap: 7px 15px;
margin: 0;
padding: 0;
list-style: none;
}
.botanicals li {
position: relative;
color: #153d3d;
font-size: 13px;
}
.botanicals li:not(:last-child)::after {
position: absolute;
top: 50%;
right: -10px;
width: 3px;
height: 3px;
border-radius: 50%;
background: #77938c;
content: "";
}
.story {
padding: 119px 0;
color: #f3f5ee;
background: #173f41;
}
.story__grid {
display: grid;
grid-template-columns: 48.8% 1fr;
gap: 12.3%;
align-items: center;
}
.story__image-wrap {
position: relative;
width: min(100%, 548px);
}
.story__image {
width: 100%;
aspect-ratio: .8;
object-fit: cover;
filter: saturate(.78) contrast(.97);
}
.story__image-wrap::before {
position: absolute;
z-index: 1;
top: 16px;
left: 16px;
width: calc(100% - 32px);
height: calc(100% - 32px);
border: 1px solid rgba(246, 247, 239, .44);
content: "";
pointer-events: none;
}
.story__caption {
position: absolute;
z-index: 2;
right: -38px;
bottom: 49px;
color: #f0f2ea;
font-family: Georgia, "Times New Roman", serif;
font-size: 21px;
font-style: italic;
letter-spacing: -.04em;
transform: rotate(-90deg);
transform-origin: right bottom;
}
.story h2 {
color: #f3f5ee;
}
.story__copy > p:not(.eyebrow):not(.story__small) {
max-width: 418px;
margin: 27px 0 0;
color: rgba(241, 244, 237, .78);
font-size: 15px;
line-height: 1.7;
}
.story__copy > p + p {
margin-top: 16px;
}
.story__rule {
display: flex;
align-items: center;
gap: 13px;
width: 100%;
max-width: 418px;
margin: 37px 0 16px;
}
.story__rule span {
display: block;
flex: 0 0 7px;
height: 7px;
border: 1px solid #b7d1c7;
border-radius: 50%;
}
.story__rule i {
display: block;
width: 100%;
height: 1px;
background: rgba(220, 237, 229, .38);
}
.story__small {
margin: 0;
color: #a8c3bb;
font-size: 12px;
letter-spacing: .04em;
}
.faq {
padding: 139px 0 144px;
background: #eceae3;
}
.faq__layout {
display: grid;
grid-template-columns: 31% 1fr;
gap: 12.5%;
}
.faq__intro > p:last-child {
margin: 25px 0 0;
color: #496461;
font-size: 14px;
}
.faq__list {
border-top: 1px solid #b7c2ba;
}
.faq-item {
border-bottom: 1px solid #b7c2ba;
}
.faq-item summary {
display: grid;
grid-template-columns: 42px minmax(0, 1fr) 24px;
align-items: center;
gap: 7px;
min-height: 86px;
padding: 18px 7px 18px 0;
color: #173d3e;
cursor: pointer;
font-family: Georgia, "Times New Roman", serif;
font-size: 22px;
letter-spacing: -.035em;
list-style: none;
}
.faq-item summary::-webkit-details-marker {
display: none;
}
.faq-item__icon {
position: relative;
display: block;
width: 17px;
height: 17px;
margin-left: auto;
border: 1px solid #44706b;
border-radius: 50%;
}
.faq-item__icon::before,
.faq-item__icon::after {
position: absolute;
top: 50%;
left: 50%;
width: 7px;
height: 1px;
background: #44706b;
content: "";
transform: translate(-50%, -50%);
transition: transform .2s ease;
}
.faq-item__icon::after {
transform: translate(-50%, -50%) rotate(90deg);
}
.faq-item[open] .faq-item__icon::after {
transform: translate(-50%, -50%) rotate(0deg);
}
.faq-item__answer {
padding: 0 0 25px 49px;
}
.faq-item__answer p {
max-width: 490px;
margin: 0;
color: #4a6562;
font-family: Inter, ui-sans-serif, sans-serif;
font-size: 14px;
letter-spacing: 0;
line-height: 1.6;
}
.footer {
padding: 65px 0 26px;
color: #eaf1e9;
background: #112f34;
}
.footer__main {
display: grid;
grid-template-columns: 1fr 1fr auto;
align-items: start;
gap: 40px;
padding-bottom: 62px;
}
.footer__contact {
display: flex;
flex-direction: column;
gap: 9px;
max-width: 300px;
color: #b4c8c0;
font-size: 12px;
line-height: 1.5;
}
.footer__contact .contact-line {
color: #edf3ec;
}
.footer__top {
display: flex;
align-items: center;
gap: 10px;
color: #bfd1c9;
font-size: 9px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
}
.footer__top .arrow {
transform: rotate(180deg);
}
.footer__bottom {
display: flex;
justify-content: space-between;
padding-top: 17px;
border-top: 1px solid rgba(219, 235, 226, .19);
color: #8ba49d;
font-size: 10px;
line-height: 1.5;
}
.footer__bottom p {
margin: 0;
}
@media (max-width: 760px) {
.shell,
.site-header {
width: min(100% - 40px, 560px);
}
.hero {
min-height: 680px;
}
.hero__image {
background-position: 58% center;
}
.hero__veil {
background:
linear-gradient(90deg, rgba(4, 24, 30, .69), rgba(4, 24, 30, .13)),
linear-gradient(0deg, rgba(3, 23, 29, .5), transparent 48%, rgba(3, 18, 23, .25));
}
.site-header {
height: 75px;
}
.wordmark {
font-size: 25px;
}
.menu-button {
z-index: 5;
display: flex;
align-items: center;
gap: 10px;
padding: 7px 0 7px 8px;
color: #f7f7f0;
border: 0;
background: transparent;
font-size: 10px;
font-weight: 700;
letter-spacing: .13em;
text-transform: uppercase;
cursor: pointer;
}
.menu-button__lines {
position: relative;
display: block;
width: 18px;
height: 12px;
}
.menu-button__lines i {
position: absolute;
right: 0;
width: 18px;
height: 1px;
background: currentColor;
transition: transform .25s ease, top .25s ease;
}
.menu-button__lines i:first-child { top: 3px; }
.menu-button__lines i:last-child { top: 9px; }
.menu-button__lines.is-open i:first-child { top: 6px; transform: rotate(45deg); }
.menu-button__lines.is-open i:last-child { top: 6px; transform: rotate(-45deg); }
.site-nav {
position: absolute;
top: 66px;
right: 0;
display: flex;
visibility: hidden;
flex-direction: column;
align-items: flex-start;
gap: 0;
min-width: 190px;
padding: 12px 19px;
color: #173c3e;
background: #f2f0ea;
box-shadow: 0 15px 28px rgba(2, 20, 23, .22);
opacity: 0;
pointer-events: none;
transform: translateY(-8px);
transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.site-nav--open {
visibility: visible;
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
.site-nav a {
width: 100%;
padding: 12px 0;
border-bottom: 1px solid #c8d0c8;
}
.site-nav a:last-child { border-bottom: 0; }
.hero__content {
justify-content: center;
min-height: calc(100% - 75px);
padding: 35px 0 89px;
}
.hero h1 {
margin-top: 24px;
font-size: clamp(66px, 19vw, 86px);
line-height: .81;
}
.hero__bottom {
display: block;
margin-top: 37px;
}
.hero__intro {
width: min(270px, 92%);
font-size: 14px;
}
.button {
min-height: 48px;
margin-top: 28px;
padding: 0 17px;
font-size: 10px;
}
.hero__coordinates {
right: 20px;
bottom: 22px;
gap: 9px;
font-size: 8px;
}
.scroll-cue {
bottom: 20px;
left: 20px;
font-size: 8px;
}
.flavours,
.faq {
padding: 81px 0;
}
.section-heading {
display: block;
}
.section-heading h2,
.story h2,
.faq h2 {
margin-top: 16px;
font-size: clamp(51px, 15vw, 70px);
}
.section-heading__note {
width: 230px;
margin: 26px 0 0;
font-size: 13px;
}
.flavour-layout {
display: flex;
flex-direction: column-reverse;
gap: 36px;
margin-top: 44px;
}
.flavour-detail {
grid-template-columns: 41% 1fr;
min-height: 332px;
}
.flavour-detail__image {
min-height: 332px;
}
.image-index {
top: 10px;
left: 10px;
padding: 4px 5px;
font-size: 7px;
}
.flavour-detail__content {
padding: 25px 17px 20px;
}
.flavour-detail__content .eyebrow {
gap: 6px;
font-size: 8px;
}
.flavour-detail__content .eyebrow > span { width: 13px; }
.flavour-detail__content h3 {
margin: 13px 0 15px;
font-size: 34px;
}
.tasting-note {
font-size: 12px;
line-height: 1.48;
}
.botanicals {
padding-top: 17px;
}
.botanicals__label { margin-bottom: 8px; font-size: 8px; }
.botanicals ul { gap: 4px 10px; }
.botanicals li { font-size: 11px; }
.botanicals li:not(:last-child)::after { right: -7px; }
.flavour-option {
grid-template-columns: 28px 58px minmax(0, 1fr);
min-height: 101px;
padding: 9px 0;
}
.flavour-option__image-wrap {
width: 45px;
height: 67px;
}
.flavour-option__copy {
gap: 5px;
padding-left: 8px;
font-size: 21px;
}
.flavour-option__copy small { font-size: 8px; }
.story {
padding: 78px 0 83px;
}
.story__grid {
display: flex;
flex-direction: column;
gap: 50px;
align-items: stretch;
}
.story__image-wrap {
width: min(100% - 22px, 370px);
}
.story__caption {
right: 12px;
bottom: 12px;
font-size: 18px;
transform: none;
}
.story__copy > p:not(.eyebrow):not(.story__small) {
margin-top: 23px;
font-size: 14px;
line-height: 1.65;
}
.story__copy > p + p { margin-top: 15px; }
.story__rule { margin: 29px 0 15px; }
.faq__layout {
display: block;
}
.faq__intro > p:last-child { margin: 21px 0 41px; }
.faq-item summary {
grid-template-columns: 31px minmax(0, 1fr) 23px;
min-height: 77px;
font-size: 19px;
}
.faq-item__answer {
padding-left: 31px;
}
.faq-item__answer p {
font-size: 13px;
}
.footer {
padding: 48px 0 21px;
}
.footer__main {
display: flex;
flex-direction: column;
gap: 32px;
padding-bottom: 44px;
}
.footer__contact { font-size: 12px; }
.footer__top { align-self: flex-start; }
.footer__bottom { gap: 20px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
scroll-behavior: auto !important;
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
}
}