/* CURSORS: cloud base + cloud hover */
html {
    cursor: url("https://freight.cargo.site/w/48/i/70503edb78ddde235bbdcbaa26ee3ae91454d7e317679cffda6ea4d006bfa59f/Cloud-Base.png"), auto !important;
}

a,
button,
.content img {
    cursor: url("https://freight.cargo.site/w/48/i/8fea1ee4abc70f6b91bbf1dbc16d9252c99a4b76d5ef7cbb46f541455a5f56df/Cloud-Hover.png"), pointer !important;
}

/**
 * Content
 */



body {
	background-color: #fff;
	color: #000;
}

a:active {
	opacity: 0.7;
}

/* Active page links: solid coral hand-drawn wave (matches hovered text links) */
.page a.active:not(.image-link):not(.icon-link) {
    color: rgba(0, 0, 0, 1);
    opacity: 1;
    font-weight: inherit;
    text-decoration: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5 C3 1,6 1.2,9 3.2 S15 5.8,19 3 S26 0.6,30 3.4 S37 5.4,40 3.5' fill='none' stroke='%23D85A30' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 40px 4px;

    padding-bottom: 0.2em;

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

i,
em {
	font-style: italic;
}

b,
strong {
	font-weight: bolder;
}

sub,
sup {
	position: relative;
	vertical-align: baseline;
}

sub {
	top: 0.3em;
}

sup {
	top: -0.4em;
}

s {
	text-decoration: line-through;
}

img {
	border: 0;
	padding: 0;
}

ul,
ol {
	margin: 0;
	padding: 0 0 0 4.5rem;
}

ol>li {
        padding-left: 0.75rem;
    }

blockquote {
	margin: 0;
	padding: 0 0 0 2em;
}

hr {
	background: rgba(0, 0, 0, 0.2);
	border: 0;
	height: 1px;
	display: block;
}

.content img {
	float: none;
	margin-bottom: 0rem;
    vertical-align: bottom;
}


/* IMAGE STYLING START
   - Rounded, lightly tilted images
   - Image frame grows on hover
   - Inner image does not separately zoom
   - Cargo media-item/gallery images are handled on the media-item frame
*/

/* Reset tilt on actual image frames so they do not inherit one shared tilt from a parent column */
.content img,
.content a.image-link,
.content picture,
.content figure,
.content media-item,
.content gallery-item,
.content [gallery-item],
.thumbnails .thumb_image {
    --tilt: 0deg;
}

/* Base treatment for ordinary page images and image wrappers */
.content img,
.content a.image-link,
.content picture,
.content figure {
    border-radius: 7px;
    overflow: hidden;
    transform: rotate(var(--tilt, 0deg));
    transform-origin: center;
    transition: transform 0.22s ease-out;
}

/* Cargo 3 images/galleries usually render as media-item. Rotate the frame/host. */
.content media-item {
    position: relative;
    z-index: 1;
    border-radius: 7px;
    overflow: visible;
    transform: rotate(var(--tilt, 0deg));
    transform-origin: center;
    transition: transform 0.22s ease-out;
    will-change: transform;
}

/* Style the actual media inside Cargo's media-item shadow part */
.content media-item::part(media) {
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
}

/* Fallback for any non-shadow-DOM images */
.content img,
.thumbnails .thumb_image {
    box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
}

/* Hover: frame grows, keeping its assigned tilt */
.content img:hover,
.content a.image-link:hover,
.content picture:hover,
.content figure:hover,
.content media-item:hover {
    z-index: 5;
    transform: rotate(var(--tilt, 0deg)) scale(1.035);
}

/* Prevent double zoom inside ordinary image wrappers */
.content a.image-link img,
.content picture img,
.content figure img,
.content a.image-link:hover img,
.content picture:hover img,
.content figure:hover img {
    transform: none !important;
    transition-property: none !important;
}

/* Thumbnail images: only the image frame moves; text stays still */
.thumbnails [thumbnails-pad],
.thumbnails [thumbnails-pad]:hover,
.thumbnails a.image-link,
.thumbnails a.image-link:hover {
    transform: none !important;
    overflow: visible !important;
}

.thumbnails .thumb_image {
    position: relative;
    z-index: 1;
    border-radius: 7px;
    overflow: hidden;
    transform: rotate(var(--tilt, 0deg)) !important;
    transform-origin: center;
    transition: transform 0.15s ease-out !important;
    will-change: transform;
}

.thumbnails .thumb_image:hover {
    z-index: 5;
    transform: rotate(var(--tilt, 0deg)) scale(1.3) !important;
}

/* Boiling ink on thumbnails: only the hovered image boils */
.thumbnails .thumb_image:hover {
    animation: jc-boil-img 0.45s steps(1, end) infinite;
}

@keyframes jc-boil-img {
    0%   { filter: url(#boil-1); }
    33%  { filter: url(#boil-2); }
    66%  { filter: url(#boil-3); }
    100% { filter: url(#boil-1); }
}

@media (prefers-reduced-motion: reduce) {
    .thumbnails .thumb_image:hover {
        animation: none;
    }
}

/* Prevent double zoom inside thumbnails */
.thumbnails .thumb_image img,
.thumbnails .thumb_image .hover,
.thumbnails .thumb_image .hover img,
.thumbnails .thumb_image *,
.thumbnails .thumb_image:hover img,
.thumbnails .thumb_image:hover .hover,
.thumbnails .thumb_image:hover .hover img,
.thumbnails .thumb_image:hover * {
    transform: none !important;
    transition-property: none !important;
}

/* Make actual thumbnail image respect rounded corners */
.thumbnails .thumb_image img {
    border-radius: 7px;
    display: block;
}

/* Keep thumbnail text unaffected */
.thumbnails .title,
.thumbnails .tags,
.thumbnails .title:hover,
.thumbnails .tags:hover {
    transform: none !important;
}

/* Pseudo-random tilts for ordinary content images/wrappers */
.content *:nth-child(6n+1) > img,
.content *:nth-child(6n+1) > a > img,
.content *:nth-child(6n+1) > picture > img,
.content *:nth-child(6n+1) > a.image-link,
.content *:nth-child(6n+1) > picture,
.content *:nth-child(6n+1) > figure {
    --tilt: -0.8deg;
}

.content *:nth-child(6n+2) > img,
.content *:nth-child(6n+2) > a > img,
.content *:nth-child(6n+2) > picture > img,
.content *:nth-child(6n+2) > a.image-link,
.content *:nth-child(6n+2) > picture,
.content *:nth-child(6n+2) > figure {
    --tilt: 1.1deg;
}

.content *:nth-child(6n+3) > img,
.content *:nth-child(6n+3) > a > img,
.content *:nth-child(6n+3) > picture > img,
.content *:nth-child(6n+3) > a.image-link,
.content *:nth-child(6n+3) > picture,
.content *:nth-child(6n+3) > figure {
    --tilt: -1.4deg;
}

.content *:nth-child(6n+4) > img,
.content *:nth-child(6n+4) > a > img,
.content *:nth-child(6n+4) > picture > img,
.content *:nth-child(6n+4) > a.image-link,
.content *:nth-child(6n+4) > picture,
.content *:nth-child(6n+4) > figure {
    --tilt: 0.6deg;
}

.content *:nth-child(6n+5) > img,
.content *:nth-child(6n+5) > a > img,
.content *:nth-child(6n+5) > picture > img,
.content *:nth-child(6n+5) > a.image-link,
.content *:nth-child(6n+5) > picture,
.content *:nth-child(6n+5) > figure {
    --tilt: 1.5deg;
}

.content *:nth-child(6n+6) > img,
.content *:nth-child(6n+6) > a > img,
.content *:nth-child(6n+6) > picture > img,
.content *:nth-child(6n+6) > a.image-link,
.content *:nth-child(6n+6) > picture,
.content *:nth-child(6n+6) > figure {
    --tilt: -1deg;
}

/* Pseudo-random tilts for Cargo media-item images/galleries.
   The slot selectors are important: Cargo gallery items often carry slot="slot-N".
   This avoids every image inheriting the same tilt from its parent column. */
.content media-item:nth-of-type(6n),
.content media-item:nth-child(6n),
.content gallery-grid > media-item:nth-of-type(6n),
.content gallery-justify > media-item:nth-of-type(6n),
.content gallery-columnized > media-item:nth-of-type(6n),
.content gallery-freeform > media-item:nth-of-type(6n),
.content gallery-slideshow > media-item:nth-of-type(6n),
.content gallery-grid > *:nth-child(6n) media-item,
.content gallery-justify > *:nth-child(6n) media-item,
.content gallery-columnized > *:nth-child(6n) media-item,
.content gallery-freeform > *:nth-child(6n) media-item,
.content gallery-slideshow > *:nth-child(6n) media-item,
.content .gallery_image:nth-child(6n),
.content [gallery-item]:nth-child(6n),
.content media-item[slot="slot-0"],
.content media-item[slot="slot-6"],
.content media-item[slot="slot-12"],
.content media-item[slot="slot-18"],
.content media-item[slot="slot-24"],
.content media-item[slot="slot-30"],
.content media-item[slot="slot-36"],
.content media-item[slot="slot-42"],
.content media-item[slot="slot-48"],
.content media-item[slot="slot-54"],
.content media-item[slot="slot-60"] {
    --tilt: -0.8deg !important;
}

.content media-item:nth-of-type(6n+1),
.content media-item:nth-child(6n+1),
.content gallery-grid > media-item:nth-of-type(6n+1),
.content gallery-justify > media-item:nth-of-type(6n+1),
.content gallery-columnized > media-item:nth-of-type(6n+1),
.content gallery-freeform > media-item:nth-of-type(6n+1),
.content gallery-slideshow > media-item:nth-of-type(6n+1),
.content gallery-grid > *:nth-child(6n+1) media-item,
.content gallery-justify > *:nth-child(6n+1) media-item,
.content gallery-columnized > *:nth-child(6n+1) media-item,
.content gallery-freeform > *:nth-child(6n+1) media-item,
.content gallery-slideshow > *:nth-child(6n+1) media-item,
.content .gallery_image:nth-child(6n+1),
.content [gallery-item]:nth-child(6n+1),
.content media-item[slot="slot-1"],
.content media-item[slot="slot-7"],
.content media-item[slot="slot-13"],
.content media-item[slot="slot-19"],
.content media-item[slot="slot-25"],
.content media-item[slot="slot-31"],
.content media-item[slot="slot-37"],
.content media-item[slot="slot-43"],
.content media-item[slot="slot-49"],
.content media-item[slot="slot-55"] {
    --tilt: 1.1deg !important;
}

.content media-item:nth-of-type(6n+2),
.content media-item:nth-child(6n+2),
.content gallery-grid > media-item:nth-of-type(6n+2),
.content gallery-justify > media-item:nth-of-type(6n+2),
.content gallery-columnized > media-item:nth-of-type(6n+2),
.content gallery-freeform > media-item:nth-of-type(6n+2),
.content gallery-slideshow > media-item:nth-of-type(6n+2),
.content gallery-grid > *:nth-child(6n+2) media-item,
.content gallery-justify > *:nth-child(6n+2) media-item,
.content gallery-columnized > *:nth-child(6n+2) media-item,
.content gallery-freeform > *:nth-child(6n+2) media-item,
.content gallery-slideshow > *:nth-child(6n+2) media-item,
.content .gallery_image:nth-child(6n+2),
.content [gallery-item]:nth-child(6n+2),
.content media-item[slot="slot-2"],
.content media-item[slot="slot-8"],
.content media-item[slot="slot-14"],
.content media-item[slot="slot-20"],
.content media-item[slot="slot-26"],
.content media-item[slot="slot-32"],
.content media-item[slot="slot-38"],
.content media-item[slot="slot-44"],
.content media-item[slot="slot-50"],
.content media-item[slot="slot-56"] {
    --tilt: -1.4deg !important;
}

.content media-item:nth-of-type(6n+3),
.content media-item:nth-child(6n+3),
.content gallery-grid > media-item:nth-of-type(6n+3),
.content gallery-justify > media-item:nth-of-type(6n+3),
.content gallery-columnized > media-item:nth-of-type(6n+3),
.content gallery-freeform > media-item:nth-of-type(6n+3),
.content gallery-slideshow > media-item:nth-of-type(6n+3),
.content gallery-grid > *:nth-child(6n+3) media-item,
.content gallery-justify > *:nth-child(6n+3) media-item,
.content gallery-columnized > *:nth-child(6n+3) media-item,
.content gallery-freeform > *:nth-child(6n+3) media-item,
.content gallery-slideshow > *:nth-child(6n+3) media-item,
.content .gallery_image:nth-child(6n+3),
.content [gallery-item]:nth-child(6n+3),
.content media-item[slot="slot-3"],
.content media-item[slot="slot-9"],
.content media-item[slot="slot-15"],
.content media-item[slot="slot-21"],
.content media-item[slot="slot-27"],
.content media-item[slot="slot-33"],
.content media-item[slot="slot-39"],
.content media-item[slot="slot-45"],
.content media-item[slot="slot-51"],
.content media-item[slot="slot-57"] {
    --tilt: 0.6deg !important;
}

.content media-item:nth-of-type(6n+4),
.content media-item:nth-child(6n+4),
.content gallery-grid > media-item:nth-of-type(6n+4),
.content gallery-justify > media-item:nth-of-type(6n+4),
.content gallery-columnized > media-item:nth-of-type(6n+4),
.content gallery-freeform > media-item:nth-of-type(6n+4),
.content gallery-slideshow > media-item:nth-of-type(6n+4),
.content gallery-grid > *:nth-child(6n+4) media-item,
.content gallery-justify > *:nth-child(6n+4) media-item,
.content gallery-columnized > *:nth-child(6n+4) media-item,
.content gallery-freeform > *:nth-child(6n+4) media-item,
.content gallery-slideshow > *:nth-child(6n+4) media-item,
.content .gallery_image:nth-child(6n+4),
.content [gallery-item]:nth-child(6n+4),
.content media-item[slot="slot-4"],
.content media-item[slot="slot-10"],
.content media-item[slot="slot-16"],
.content media-item[slot="slot-22"],
.content media-item[slot="slot-28"],
.content media-item[slot="slot-34"],
.content media-item[slot="slot-40"],
.content media-item[slot="slot-46"],
.content media-item[slot="slot-52"],
.content media-item[slot="slot-58"] {
    --tilt: 1.5deg !important;
}

.content media-item:nth-of-type(6n+5),
.content media-item:nth-child(6n+5),
.content gallery-grid > media-item:nth-of-type(6n+5),
.content gallery-justify > media-item:nth-of-type(6n+5),
.content gallery-columnized > media-item:nth-of-type(6n+5),
.content gallery-freeform > media-item:nth-of-type(6n+5),
.content gallery-slideshow > media-item:nth-of-type(6n+5),
.content gallery-grid > *:nth-child(6n+5) media-item,
.content gallery-justify > *:nth-child(6n+5) media-item,
.content gallery-columnized > *:nth-child(6n+5) media-item,
.content gallery-freeform > *:nth-child(6n+5) media-item,
.content gallery-slideshow > *:nth-child(6n+5) media-item,
.content .gallery_image:nth-child(6n+5),
.content [gallery-item]:nth-child(6n+5),
.content media-item[slot="slot-5"],
.content media-item[slot="slot-11"],
.content media-item[slot="slot-17"],
.content media-item[slot="slot-23"],
.content media-item[slot="slot-29"],
.content media-item[slot="slot-35"],
.content media-item[slot="slot-41"],
.content media-item[slot="slot-47"],
.content media-item[slot="slot-53"],
.content media-item[slot="slot-59"] {
    --tilt: -1deg !important;
}

/* Pseudo-random tilts for thumbnail images */
.thumbnails [thumbnails-pad]:nth-child(6n+1) .thumb_image { --tilt: -0.8deg; }
.thumbnails [thumbnails-pad]:nth-child(6n+2) .thumb_image { --tilt: 1.1deg; }
.thumbnails [thumbnails-pad]:nth-child(6n+3) .thumb_image { --tilt: -1.4deg; }
.thumbnails [thumbnails-pad]:nth-child(6n+4) .thumb_image { --tilt: 0.6deg; }
.thumbnails [thumbnails-pad]:nth-child(6n+5) .thumb_image { --tilt: 1.5deg; }
.thumbnails [thumbnails-pad]:nth-child(6n+6) .thumb_image { --tilt: -1deg; }

/* Keep mobile calmer */
.mobile .content img,
.mobile .content a.image-link,
.mobile .content picture,
.mobile .content figure,
.mobile .content media-item,
.mobile .thumbnails .thumb_image {
    transform: none !important;
}

/* IMAGE STYLING END */


.gallery_image_caption {
    margin-top: .8em;
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.85);
	font-family: "iA Writer Quattro", Icons;
	font-style: normal;
	line-height: 1.3;
    text-align: left;
	letter-spacing: 0.02em;
}

/**
 * Loading Animation
 */

.loading[data-loading] {
	position: fixed;
	bottom: 8px; 
    left: 8px;
}

/**
 * Editor styles
 */

[data-predefined-style="true"] bodycopy {
	font-size: 1.8rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 1);
	font-family: "Diatype Variable", Icons;
	font-style: normal;
	line-height: 1.2;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

/* LINK STYLING START
   - Resting: thin, flat, hand-drawn gray wave
   - Hover/focus: wave turns coral, link "boils" like stop-motion hand animation
   - The letter warp needs the boil-1/2/3 SVG filters in the page HTML.
     Without them, the line still redraws and trembles, but letters don't warp.
*/

[data-predefined-style="true"] bodycopy a {
    color: rgba(0, 0, 0, 1);
    text-decoration: none;
    position: relative;
    padding-bottom: 0.0em;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5 C3 1,6 1.2,9 3.2 S15 5.8,19 3 S26 0.6,30 3.4 S37 5.4,40 3.5' fill='none' stroke='%23888780' stroke-width='1.1' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 40px 4px;

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

a:hover {
  font-size: inherit;
}

[data-predefined-style="true"] bodycopy a:hover,
[data-predefined-style="true"] bodycopy a:focus-visible,
[data-predefined-style="true"] bodycopy a.active:not(.image-link):not(.icon-link) {
    color: rgba(0, 0, 0, 1);
    opacity: 1;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5 C3 1,6 1.2,9 3.2 S15 5.8,19 3 S26 0.6,30 3.4 S37 5.4,40 3.5' fill='none' stroke='%23D85A30' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

[data-predefined-style="true"] bodycopy a:hover,
[data-predefined-style="true"] bodycopy a:focus-visible {
    animation: jc-boil 0.45s steps(1, end) infinite;
}

[data-predefined-style="true"] bodycopy a:active {
    animation: none;
    top: 1px;
}

/* Stop-motion boil: three hand-drawn coral waves + a tiny tremble. CSS only. */
@keyframes jc-boil {
    0% {
        left: 0; top: 0;
        filter: url(#boil-1);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5 C3 1,6 1.2,9 3.2 S15 5.8,19 3 S26 0.6,30 3.4 S37 5.4,40 3.5' fill='none' stroke='%23D85A30' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    }
    33% {
        left: 0.5px; top: -0.4px;
        filter: url(#boil-2);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5 C2 1.4,7 0.8,10 3.4 S16 5.4,20 3.2 S27 1,31 3 S38 5.8,40 3.5' fill='none' stroke='%23D85A30' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    }
    66% {
        left: -0.4px; top: 0.3px;
        filter: url(#boil-3);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5 C4 0.8,6 1.6,8.5 3 S14 6,18.5 3.4 S25 1.2,29 3.6 S36 5,40 3.5' fill='none' stroke='%23D85A30' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    }
    100% {
        left: 0; top: 0;
        filter: url(#boil-1);
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-predefined-style="true"] bodycopy a:hover,
    [data-predefined-style="true"] bodycopy a:focus-visible {
        animation: none;
    }
}

bodycopy a.image-link,
bodycopy a.icon-link,
bodycopy a.image-link:hover,
bodycopy a.icon-link:hover {
	border-bottom: 0;
	padding-bottom: 0;
    background-image: none;
    color: inherit;
    text-decoration: none;
    filter: none;
    animation: none;
}

/* LINK STYLING END */

[data-predefined-style="true"] h1 {
	font-family: "Routed Gothic", Icons;
	font-style: normal;
	font-weight: 400;
	padding: 0;
	margin: 0;
	font-size: 4.8rem;
	line-height: 1;
	color: rgba(0, 0, 0, 1);
	}

[data-predefined-style="true"] h1 a {
	color: rgba(0, 0, 0, 1);
}

[data-predefined-style="true"] h2 {
	font-family: "Diatype Mono Variable", Icons;
	font-style: normal;
	font-weight: 400;
	padding: 0;
	margin: 0;
	color: rgba(0, 0, 0, 1);
	font-size: 1.6rem;
	line-height: 1.2;
	    letter-spacing: 0.01em;
	font-variation-settings: 'slnt' 0, 'MONO' 0.18;
}

[data-predefined-style="true"] h2 a {
	color: rgba(0, 0, 0, 1);
}

[data-predefined-style="true"] small {
	display: inline-block;
	font-size: 1.2rem;
	line-height: 1.2;
	font-family: "Diatype Variable", Icons;
	font-style: normal;
	font-weight: 500;
	color: rgba(0, 0, 0, 1);
    letter-spacing: 0.01em;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

[data-predefined-style="true"] small a {
	color: rgba(0, 0, 0, 1);
	border-bottom-width: 0em;
}

/**
 * Breakpoints
 */

[data-css-preset] .page {
    background-color: initial /*!page_bgcolor*/;
}

.mobile .page,
[data-css-preset].mobile .page {
	position: relative;
	min-height: 10px;
	max-width: 100%;
	width: 100%;
	background-color: transparent /*!page_bgcolor*/;
}

[data-css-preset] .container {
	margin-left: auto /*!content_center*/;
	margin-right: auto /*!content_center*/;
	text-align: left /*!text_left*/;
}

[data-css-preset] body {
	background-color: rgb(255, 255, 255) /*!body_bgcolor*/;
}

[data-css-preset] .container_width {
	width: 95%/*!content_center*/;
}

[data-css-preset] .content_padding {
	padding-top: 3rem /*!main_margin*/;
	padding-bottom: 3rem /*!main_margin*/;
	padding-left: 3rem /*!main_margin*/;
	padding-right: 3rem /*!main_margin*/;
}


[data-css-preset] text-limit {
	display: inline-block /*!text_width*/;
	max-width: 66rem/*!text_width*/;
}

/**
 * Thumbnails
 */

div[thumbnails] {
	justify-content: flex-start;
}

[data-css-preset] .thumbnails {
   	background-color: rgba(0, 0, 0, 0)/*!thumbnails_bgcolor*/;   
}

[data-css-preset] .thumbnails_width {
    width: 95%/*!thumbnails_width*/;
}

[data-css-preset] [thumbnails-pad] {
    padding: 1.25rem/*!thumbnails_padding*/;
}

[data-css-preset] [thumbnails-gutter] {
    margin: -2.5rem/*!thumbnails_padding*/;
}

[data-css-preset] [responsive-layout] [thumbnails-pad] {
    padding: 0.3rem/*!responsive_thumbnails_padding*/; 
}

[data-css-preset] [responsive-layout] [thumbnails-gutter] {
    margin: -0.6rem/*!responsive_thumbnails_padding*/; 
}


.thumbnails .title {
    margin-top: 1.0rem;
    margin-bottom: 0.0rem;
    font-size: 1.2rem;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.85);
	font-family: "Diatype Variable", Icons;
	font-style: normal;
	line-height: 1.3;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.thumbnails .tags {
    margin-top: 0rem;
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.5);
	font-family: "iA Writer Quattro", Icons;
	font-style: normal;
	line-height: 1.0;
}

.thumbnails .tags a {
	border-bottom: 0;
    color: rgba(0, 0, 0, 0.5);
    text-decoration: none;
}

.thumbnails .has_title .tags {
	margin-top: 0rem;
}


    

/**
 * Site Menu
 */

[data-css-preset] #site_menu_button {
	color: rgba(0, 0, 0, 1);
	line-height: 1;
	font-size: 28px /*!site_menu_button*/;
	padding: 6px;
	line-height: 1;
	background: rgba(255, 255, 255, 0);
	position: fixed;
	top: 1rem /*!site_menu_button*/;
	right: 1rem /*!site_menu_button*/;
}

body.mobile #site_menu_button {
	margin: -6px;
	font-size: 34px;
}

#site_menu_button.custom_icon {
	width: 40px;
	height: auto;
}

#site_menu_button.active {
	display: none;
}

/**
 * Site Menu
 */

#site_menu {
	font-family: "iA Writer Quattro", Icons;
	background: rgba(255, 255, 255, 1);
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	padding: 20px 30px 90px 30px;
	max-width: 400px;
	min-width: 300px;
	text-align: left;
	display: flex;
	justify-content: flex-start;
}

body.mobile #site_menu {
	width: 100%;
}

#site_menu .page-link a {
	color: rgba(0, 0, 0, 0.85);
}

#site_menu .set-link > a {
	color: rgba(0, 0, 0, 0.85);
	font-weight: bold;
}

#site_menu a:active {
	opacity: .7;
}

#site_menu a.active {
    /* Match the hovered text-link treatment: solid coral hand-drawn wave */
    color: rgba(0, 0, 0, 1);
    opacity: 1;
    text-decoration: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5 C3 1,6 1.2,9 3.2 S15 5.8,19 3 S26 0.6,30 3.4 S37 5.4,40 3.5' fill='none' stroke='%23D85A30' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 40px 4px;

    padding-bottom: 0.2em;

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

#site_menu .close {
	display: none;
	color: rgba(0, 0, 0, 0.7);
	line-height: .85em;
	font-size: 45px;
}

body.mobile #site_menu .close {
	display: block;
	font-size: 50px;
	line-height: 1em;
}

#site_menu .break {
	height: 28px;
}

#site_menu .indent {
	margin-left: 28px;
}

/**
 * Shop Button
 */

[data-css-preset] #shop_button {
	color: rgba(255, 255, 255, 1);
    background: transparent;
	font-size: 32px;
    font-style: normal;
	font-weight: 400;
    line-height: 1;
    position: fixed;
	padding: 6px;
	top: 1.5rem /*!shop_button*/;
	right: 3rem /*!shop_button*/;
}

#shop_button.text {
    font-family: "iA Writer Quattro", Icons;
	font-size: 1.4rem;
    padding: 0;
	font-weight: 700;
	color: rgba(255, 255, 255, 1);
	font-style: normal;
    line-height: 1.3;
}

#shop_button.custom_icon {
	width: 40px;
    height: auto;
}

body.mobile #shop_button:not(.text) {
	margin: -6px;
    font-size: 36px;
}

/**
 * Shop Product Widget
 */

.shop_product {
    width: 100%;
	max-width: 22rem;
    position: relative;
    display: block;
}

.shop_product .price {
	font-family: "iA Writer Quattro", Icons;
	font-size: 1.4rem;
	line-height: 1;
	color: rgba(255, 255, 255, 1);
    display: block;
    margin-bottom: 1rem;
	font-style: normal;
	font-weight: 400;
}

.shop_product .dropdown {
    font-family: "iA Writer Quattro", Icons;
    font-size: 1.4rem;
    display: inline-block;
	width: 100%;
    border: 1px solid rgba(255,255,255,0.4);
    background:  white url(https://static.cargo.site/assets/images/select-arrows.svg) no-repeat right;
    margin-bottom: 1rem;
    line-height: 1.2;
    padding: .6rem 2rem .7rem .9rem;
	font-style: normal;
	font-weight: 400;
}

.shop_product .button {
    font-family: "iA Writer Quattro", Icons;
	font-size: 1.4rem;
    background: rgba(0, 0, 0, 0.7);
    color: rgba(255,255,255,1);
    flex: 0 0 50%;
    text-align: left;
    display: inline-block;
	line-height: .9;
    padding: .8rem 1rem .9rem;
	font-style: normal;
	font-weight: 400;
}

/**
 * Image Zoom
 */

.content img.image-zoom:active {
  opacity: .7;
}

/**
 * Quick View
 */

[data-css-preset] .quick-view {
    padding-top: 2.5rem /*!quick_view_padding*/;
    padding-bottom: 2.5rem /*!quick_view_padding*/;
    padding-left: 2.5rem /*!quick_view_padding*/;
    padding-right: 2.5rem /*!quick_view_padding*/;
    height: 100% /*!quick_view_height*/;
    width: 100% /*!quick_view_width*/;
}

body.mobile .quick-view {
    width: 100%;
    height: 100%;
    margin: 0;
}


[data-css-preset] .quick-view-background {
	background: rgba(255, 255, 255, 1) /*!quick_view_bgcolor*/;
}

.quick-view-caption {
    font-family: "iA Writer Quattro", Icons;
    transition: 100ms opacity ease-in-out;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 3.5rem 0;
    text-align: center;
    font-size: 1.2rem;
	font-style: normal;
	font-weight: 400;
    letter-spacing: 0.02em;
}

.quick-view-caption span {
    padding: 0.5rem 1rem;
    display: inline-block;
    background: rgba(0,0,0,0.5);
    color: white;
}

/**
 * Quick View Navigation 
 */

.quick-view-navigation .left-arrow {
    left: 10px;
}

.quick-view-navigation .right-arrow {
    right: 10px;
}

.quick-view-navigation .left-arrow,
.quick-view-navigation .right-arrow {
    /* Change height/width together to scale */
    height: 36px;
    width: 36px;
}

.quick-view-navigation .left-arrow .inner-color,
.quick-view-navigation .right-arrow .inner-color {
    stroke: #fff;
    stroke-width: 1.5px;
}

.quick-view-navigation .left-arrow .outer-color,
.quick-view-navigation .right-arrow .outer-color {
    stroke: #000;
    stroke-width: 2.5px;
    opacity: 0.6;
}

.quick-view-navigation .close-button {  
    top: 10px;
    right: 10px;
    /* Change height/width together to scale */
    width: 36px;
    height: 36px;
}

.quick-view-navigation .close-button .inner-color {
    stroke: #fff;
    stroke-width: 1.5px;
}

.quick-view-navigation .close-button .outer-color {
    stroke: #000;
    stroke-width: 2.5px;
    opacity: 0.6;
}

/** 
 * Image Gallery Navigation Arrows 
 */

.image-gallery-navigation .left-arrow,
.image-gallery-navigation .right-arrow {
    /* Change height/width together to scale */
    height: 36px;
    width: 36px;
}

.image-gallery-navigation .left-arrow .inner-color,
.image-gallery-navigation .right-arrow .inner-color {
    stroke: rgba(0, 0, 0, 0.85);
    stroke-width: 1.5px;
}

.image-gallery-navigation .left-arrow .outer-color,
.image-gallery-navigation .right-arrow .outer-color {
    stroke: #000;
    stroke-width: 2.5px;
    opacity: 0;
}

/**
 * Wallpaper Backdrop Navigation Arrows 
 */

.wallpaper-navigation .left-arrow,
.wallpaper-navigation .right-arrow {
   /* Change height/width together to scale */
   width: 36px;
   height: 36px;
}

.wallpaper-navigation .left-arrow .inner-color,
.wallpaper-navigation .right-arrow .inner-color {
   stroke: #fff;
    stroke-width: 1.5px;
}

.wallpaper-navigation .left-arrow .outer-color,
.wallpaper-navigation .right-arrow .outer-color {
    stroke: #000;
    stroke-width: 2.5px;
    opacity: 0;
}

/**
 * Feed
 */

.feed .content_container .page {
    border-top: 0px dashed rgba(0, 0, 0, 0.2);
}

.feed .content_container .page_container:first-child .page {
	border-top: 0;
}

/**
 * Audio Player
 */

.audio-player {
    max-width: 26rem;
    height: 3.3rem;
    outline: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.7);
    background: rgba(0, 0, 0, 0.4);
    font-size: 1.2rem;
    line-height: 1.3;
    font-family: "iA Writer Quattro", Icons;
    font-style: normal;
    font-weight: 400;
    text-align: left;
    margin: 1px 1px 1em 1px;
}

body.mobile .audio-player {
    max-width: 100%;
}

.audio-player .separator {
    width: 1px;
    background-color: rgba(255, 255, 255, 0.2);
}

.audio-player .button {
    background: transparent;
    cursor: pointer;
    fill: rgba(255, 255, 255, 0.85);
}

.audio-player .icon {
    fill: rgba(255, 255, 255, 0.85);
    padding: 30%;
    width: 100%;
    margin: auto;
}

.audio-player .buffer {
    background: rgba(255, 255, 255, 0.1);
}

.audio-player .progress {
    background: rgba(255, 255, 255, 0.15);
}

.audio-player .progress-indicator {
    border: 1px solid rgba(255, 255, 255, 0.7);
    width: 1px;
    height: 100%;
    right: 0;
    position: absolute;
    cursor: ew-resize;
}

.audio-player .note-icon {
    height: 100%;
    width: 3.8rem;
    padding: 1rem;
    fill: rgba(255, 255, 255, 0.6);
}

.audio-player .current-time {
    padding-left: 1rem;
}

.audio-player .total-time {
    padding-right: 1rem;
}

/* ASCII SEA ANIMATION START */

.jc-ascii-sea {
  font-family: "Courier New", "Menlo", "Consolas", monospace;
  font-size: 35px;
  letter-spacing: 0;
  white-space: pre;
  color: #222;
  line-height: 1.2;

  display: inline-flex;
  align-items: baseline;
  gap: 0;
}

/* fixed star fields */

.jc-stars-left,
.jc-stars-right {
  display: inline-block;
  text-align: center;
  white-space: pre;
}

.jc-stars-left {
  width: 1.5em;
}

.jc-stars-right {
  width: 2.4em;
}

/* unified sea layer */

.jc-water {
  display: inline-block;
  width: 7.2em;
  text-align: center;
  white-space: pre;
}

.jc-water::before {
  content: "﹏﹏﹏𓊝﹏𓂁﹏";
  animation: jc-water-sailing 6s steps(1, end) infinite;
}

/* stars */

.jc-stars-left::before {
  content: "⊹ ࣪";
  animation: jc-stars-left 6s steps(1, end) infinite;
}

.jc-stars-right::before {
  content: "࣪ ˖ ·";
  animation: jc-stars-right 6s steps(1, end) infinite;
}

/* unified wave + ship animation */

@keyframes jc-water-sailing {
  0% {
    content: "﹏﹏﹏𓊝﹏𓂁﹏";
  }

  6.25% {
    content: "﹏﹏﹏𓊝﹏𓂁〰";
  }

  12.5% {
    content: "﹏﹏﹏𓊝﹏〰﹏";
  }

  18.75% {
    content: "﹏﹏﹏𓊝﹋﹏﹏";
  }

  25% {
    content: "﹏﹏﹏﹋﹏﹏﹏";
  }

  31.25% {
    content: "﹏﹏〰𓊝﹏﹏﹏";
  }

  37.5% {
    content: "﹏〰﹏𓊝﹏﹏﹏";
  }

  43.75% {
    content: "〰﹏﹏𓊝﹏﹏﹏";
  }

  50% {
    content: "﹏﹏﹏𓊝﹏﹏﹏";
  }

  56.25% {
    content: "﹏﹏﹏𓊝﹏﹏﹏";
  }

  62.5% {
    content: "﹏﹏﹏𓊝﹏﹏〰";
  }

  68.75% {
    content: "﹏﹏﹏𓊝﹏〰﹏";
  }

  75% {
    content: "﹏﹏﹏𓊝〰﹏﹏";
  }

  81.25% {
    content: "﹏﹏〰𓊝﹏𓂁﹏";
  }

  87.5% {
    content: "﹏〰﹏𓊝﹏𓂁﹏";
  }

  93.75% {
    content: "〰﹏﹏𓊝﹏𓂁﹏";
  }

  100% {
    content: "﹏﹏﹏𓊝﹏𓂁﹏";
  }
}

/* two stars left */

@keyframes jc-stars-left {
  0% {
    content: "⊹ ࣪";
  }

  25% {
    content: "✦ ˖";
  }

  50% {
    content: "⊹ ·";
  }

  75% {
    content: "✧ ࣪";
  }

  100% {
    content: "⊹ ࣪";
  }
}

/* three stars right */

@keyframes jc-stars-right {
  0% {
    content: "࣪ ˖ ·";
  }

  25% {
    content: "· ✧ ˖";
  }

  50% {
    content: "࣪ · ⊹";
  }

  75% {
    content: "˖ ✦ ·";
  }

  100% {
    content: "࣪ ˖ ·";
  }
}

/* optional: scale down slightly on mobile */

.mobile .jc-ascii-sea {
  font-size: 24px;
}

/* ASCII SEA ANIMATION END */


/* QUESTION POST-IT START
   - Taped sticky note in the top-right of the homepage
   - Cycles through 16 questions (4s each, 64s loop), pure CSS
   - Boils on hover (uses the boil-1/2/3 filters already on the homepage)
   - Hovering a section link swaps the question for a preview card (see HOVER PREVIEWS)
*/

/* Zero-height anchor at the top of the page content: the note hangs off its top-right corner */
.jc-note-anchor {
  position: relative;
  height: 0;
}

.jc-note {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  width: 18rem;
  min-height: 10rem;
  padding: 2.2rem 1.8rem 1.8rem;

  background: #FAEEDA;
  color: #633806;
  font-family: "Diatype Variable", Icons;
  font-size: 1.6rem;
  line-height: 1.35;

  transform: rotate(2deg);
  transition: transform 0.2s ease;
}

.jc-note:hover {
  transform: rotate(1deg) translateY(-2px);
  animation: jc-boil-img 0.45s steps(1, end) infinite;
}

/* Washi tape */
.jc-note::before {
  content: "";
  position: absolute;
  top: -0.8rem;
  left: 50%;
  width: 5.6rem;
  height: 1.6rem;
  margin-left: -2.8rem;
  background: #9FE1CB;
  opacity: 0.8;
  transform: rotate(-4deg);
}

.jc-note-label {
  display: block;
  margin-bottom: 1rem;
  font-family: "iA Writer Quattro", Icons;
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  color: #854F0B;
}

.jc-note-q::before {
  content: "Another ___ is possible. What goes in the blank for you today?";
  animation: jc-note-questions 64s steps(1, end) infinite;
}

@keyframes jc-note-questions {
  0%     { content: "Another ___ is possible. What goes in the blank for you today?"; }
  6.25%  { content: "What could you subtract, instead of add?"; }
  12.5%  { content: "What would it look like to fail gracefully?"; }
  18.75% { content: "Where could a little friction be generative?"; }
  25%    { content: "If you left home to learn, where would you go?"; }
  31.25% { content: "What changes if you move at a walking pace?"; }
  37.5%  { content: "What would you notice if you couldn't picture it first?"; }
  43.75% { content: "How do you hope for a future you can't see?"; }
  50%    { content: "What's something unfinished you've been carrying around?"; }
  56.25% { content: "Which small oddity today might be ordinary in 2040?"; }
  62.5%  { content: "What are you sure of that might not hold in twenty years?"; }
  68.75% { content: "Who's missing from the future you're imagining?"; }
  75%    { content: "What does your street sound like at 3 a.m.?"; }
  81.25% { content: "If a place had a song, what would yours sound like?"; }
  87.5%  { content: "Where do you go when the world gets too loud?"; }
  93.75% { content: "If today were a field trip, what would you be studying?"; }
  100%   { content: "Another ___ is possible. What goes in the blank for you today?"; }
}

/* HOVER PREVIEWS
   Hovering a text link to a section swaps the question for that section's card.
   Links are matched by words in their URL, so they work in the intro and the top menu. */

.jc-note-card {
  display: none;
}

/* Small picture strip at the bottom of each card.
   To use your own image, replace the color with: url("https://freight.cargo.site/w/600/i/.../image.jpg") center / cover */
.jc-note-img {
  display: block;
  height: 6rem;
  margin-top: 1.2rem;
  border-radius: 2px;
  background: #F5C4B3;
}

.jc-card-projects .jc-note-img     { background: #F5C4B3; }
.jc-card-publications .jc-note-img { background: #CECBF6; }
.jc-card-sound .jc-note-img        { background: #B5D4F4; }
.jc-card-work .jc-note-img         { background: #C0DD97; }

/* The rules that switch the cards on hover use the newer has-selector, which Cargo's CSS checker
   can't read. They live in a <style> block in the homepage's code view instead. */

/* Hide where there isn't room beside the intro text */
.mobile .jc-note-anchor {
  display: none;
}

@media (max-width: 1100px) {
  .jc-note-anchor {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jc-note:hover {
    animation: none;
  }
}

/* QUESTION POST-IT END */


/* INTERACTIVE ATLAS IFRAME START */

.jc-atlas-frame-wrap {
  width: 100vw;
  height: 100vh;

  /* Break out of Cargo's narrower content column */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: 0;
  overflow: hidden;
}

.jc-atlas-frame {
  width: 100vw;
  height: 100vh;
  min-height: 720px;
  border: 0;
  border-radius: 0;
  display: block;
}

/* Cargo mobile class */
.mobile .jc-atlas-frame {
  height: 1100px;
  min-height: 1100px;
}

/* Standard mobile fallback */
@media (max-width: 800px) {
  .jc-atlas-frame {
    height: 1100px;
    min-height: 1100px;
  }
}

/* INTERACTIVE ATLAS IFRAME END */