/* ==================================================================================================================
   FoldedLogic Layout Architecture (Ma)
   An Origami-Inspired Layout Architecture
   Copyright © 2026 Peter Johnson
   Independent website architecture designed for performance, intentional layout composition, and edge deployment.
   ==================================================================================================================

   01. Foundation
   02. Typography
   03. Architecture (Kumi System)
   04. Layout
   05. Media
   06. Components
   07. Forms
   08. Utilities
   09. Theme / Variants

   ================================================================================================================== */
   
/* =========================================================
   01. FOUNDATION
   Reset, normalize, base HTML elements
   ========================================================= */
@font-face {font-family: 'Noto Sans';font-style: italic;font-weight: 100 900;font-stretch: 100%;font-display: swap;src: url(/assets/fonts/o-0ZIpQlx3QUlC5A4PNr4C5OaxRsfNNlKbCePevtt3OmDyw.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Noto Sans';font-style: italic;font-weight: 100 900;font-stretch: 100%;font-display: swap;src: url(/assets/fonts/o-0ZIpQlx3QUlC5A4PNr4C5OaxRsfNNlKbCePevtuXOm.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Noto Sans';font-style: normal;font-weight: 100 900;font-stretch: 100%;font-display: swap;src: url(/assets/fonts/o-0bIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjc5aDdu2ui.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Noto Sans';font-style: normal;font-weight: 100 900;font-stretch: 100%;font-display: swap;src: url(/assets/fonts/o-0bIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjc5a7duw.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Zen Kaku Gothic New';font-style: normal;font-weight: 500;font-display: swap;src: url(/assets/fonts/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqs9LWW3YTVlM.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Zen Kaku Gothic New';font-style: normal;font-weight: 500;font-display: swap;src: url(/assets/fonts/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqs9LWWPYTQ.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Zen Kaku Gothic New';font-style: normal;font-weight: 700;font-display: swap;src: url(/assets/fonts/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqodNWW3YTVlM.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Zen Kaku Gothic New';font-style: normal;font-weight: 700;font-display: swap;src: url(/assets/fonts/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqodNWWPYTQ.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Zen Kaku Gothic New';font-style: normal;font-weight: 900;font-display: swap;src: url(/assets/fonts/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqr9PWW3YTVlM.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Zen Kaku Gothic New';font-style: normal;font-weight: 900;font-display: swap;src: url(/assets/fonts/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqr9PWWPYTQ.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}


/****** TOKENS Folded Logic variable system ******/

:root {
	/*** Color ***/
	--color-page: #fff;
	--color-page-soft: #F8EFE8;
	--color-panel-dim: #232323;
	--color-panel-dark: #000;
	
	--color-ink: #1b1b1b;
	--color-ink-strong: #000;
	--color-ink-soft: #3c3c3b;
	--color-ink-muted: #444;
	--color-ink-faint: #555;
	--color-ink-light: #636363;
	--color-ink-lighter: #6B6B6B;

	--color-h1: #3c3c3b;
	--color-h1-bold: #181818;
	--color-h1-hover: #1b1b1b;
	--color-h2: #181818;
	--color-h2-hover: #000;
	--color-h3: #3c3c3b;
	--color-h3-hover: #1b1b1b;
	--color-h4: #181818;
	--color-h4-hover: #000;
	--color-h5: #3c3c3b;
	--color-h5-hover: #1b1b1b;
	--color-h6: #3c3c3b;
	--color-h6-hover: #1b1b1b;

	--color-line: #282828;
	--color-line-soft: #757575;
	--color-line-faint: #cccccc;
	--color-line-strong: #000000;

	--color-inverse: #ffffff;
	--color-inverse-soft: #dedede;
	--color-inverse-muted: #bbbbbb;
	--color-danger: #ea0000;

	--color-shadow-soft: rgba(0,0,0,.04);
	--color-shadow-mid: rgba(0,0,0,.10);
	--color-shadow-focus: rgba(0,0,0,.25);

	--color-focus: #999;
	--color-focus-light: #cdcdcd;

	/*** Typography ***/
	--font-body: "Noto Sans", Arial, Helvetica, sans-serif;
	--font-display: "Zen Kaku Gothic New", Arial, Helvetica, sans-serif;
	--font-serif: "Times New Roman", Times, serif;
	--font-sans: Arial, Helvetica, sans-serif;

	--weight-body: 400;
	--weight-medium: 500;
	--weight-strong: 700;
	--weight-heavy: 800;

	--size-body: 21px;
	--line-body: 28px;
	--size-panel: 18px;
	--line-panel: 24px;
	--size-detail: 16px;
	--line-detail: 20px;
	--size-fine: 14px;
	--line-fine: 18px;

	--size-h1: 34px;
	--size-h1-bold: 66px;
	--line-h1: 36px;
	--line-h1-bold: 70px;
	--size-h2: 48px;
	--line-h2: 52px;
	--size-h3: 28px;
	--line-h3: 30px;
	--size-h4: 26px;
	--line-h4: 28px;
	--size-h5: 24px;
	--line-h5: 26px;
	--size-h6: 22px;
	--line-h6: 24px;
	--h-pad-top: 0px;

	/*** Spacing / Ma ***/
	--ken: 10px;

	--ma-moto: 0;
	--ma-sho: calc(var(--ken) * 1);
	--ma-chu: calc(var(--ken) * 2);
	--ma-dai: calc(var(--ken) * 4);
	--ma-cho: calc(var(--ken) * 8);

	--site-gutter: 20px;

	/*** Width / Layout ***/
	--width-moto: 500px;
	--width-sho: 700px;
	--width-chu: 900px;
	--width-dai: 1100px;
	--width-cho: 1300px;


	/*** Components / Forms ***/
	--border-thin: 1px;
	--border-base: 2px;
	--border-strong: 4px;
	
	/*** Layer ***/
	--z-moto: 0;
	--z-sho: 10;
	--z-chu: 20;
	--z-dai: 30;
	--z-cho: 100;
	--z-banner: 200;
	--z-overlay: 300;
	--z-menu: 500;
	--z-dropdown: 1000;
	--z-plugin: 900000;
	--z-max: 999999;

	/*** Motion ***/
	--nagare-fast: .18s;
	--nagare: .28s;
	--nagare-slow: .45s;

	--ease-soft: cubic-bezier(.25,.46,.45,.94);
	--ease-smooth: cubic-bezier(.4,0,.2,1);
	--ease-snap: cubic-bezier(.2,.8,.2,1);

	--reveal-distance: 20px;
	--hover-lift: -3px;
	--press-down: 2px;
	--press-scale: .97;

	/*** Accessibility ***/
	--focus-ring-width: 2px;
	--focus-ring-offset: 3px;
	--scroll-offset: 120px;
}

@media only screen and (min-width : 960px) and (max-width : 1739px) {
	:root {
		--size-h1: 1.95vw;
		--size-h1-bold: 3.79vw;
		--line-h1: 2.06vw;
		--line-h1-bold: 4.02vw;
	}
	
}

@media only screen and (min-width : 960px) and (max-width : 1259px) {
	:root {
		--size-body: 18px;
		--line-body: 26px;
		--size-panel: 16px;
		--line-panel: 20px;
		--size-detail: 14px;
		--line-detail: 18px;
		--size-fine: 14px;
		--line-fine: 18px;
	}
}
@media only screen and (max-width: 959px) {
	:root {
		--size-body: 16px;
		--line-body: 22px;
		--size-panel: 16px;
		--line-panel: 20px;
		--size-detail: 14px;
		--line-detail: 18px;
		--size-fine: 13px;
		--line-fine: 17px;

		--size-h1: 18px;
		--line-h1: 19px;
		--size-h1-bold: 36px;
		--line-h1-bold: 38px;
		--size-h2: 32px;
		--line-h2: 36px;
		--size-h3: 24px;
		--line-h3: 26px;
		--size-h4: 23px;
		--line-h4: 24px;
		--size-h5: 22px;
		--line-h5: 23px;
		--size-h6: 21px;
		--line-h6: 22px;
		
		--ken: 8px;
	}
}

@media only screen and (max-width: 639px) {
	:root {
		--size-body: 16px;
		--line-body: 22px;
		--size-panel: 14px;
		--line-panel: 18px;
		--size-detail: 13px;
		--line-detail: 17px;
		--size-fine: 12px;
		--line-fine: 16px;

		--size-h1: 16px;
		--line-h1: 19px;
		--size-h1-bold: 30px;
		--line-h1-bold: 32px;
		--size-h2: 28px;
		--line-h2: 30px;
		--size-h3: 22px;
		--line-h3: 24px;
		--size-h4: 21px;
		--line-h4: 23px;
		--size-h5: 20px;
		--line-h5: 22px;
		--size-h6: 18px;
		--line-h6: 20px;
		
		--ken: 6px;
	}
}

body, div, dl, dt, dd, ul, ol, li, pre, p, form, fieldset, input, table, th, tr, td, embed, object, img, figure, figcaption, h1, h2, h3, h4, h5, h6 {padding: 0;margin: 0; border: 0;}
article, aside, hr, details, summary, header, footer, menu, nav, section, main, video, search {padding: 0;margin: 0;border: 0;display: block;}
button {background: none;border: none;padding: 0;font: inherit;}
body {margin: 0px 0px 0px 0px;padding: 0px 0px 0px 0px;background: var(--color-page);min-height: 100%;min-width: 320px;font-size: var(--size-body);line-height: var(--line-body);color: var(--color-ink);font-family: var(--font-body);}
html { height: 100%; -webkit-text-size-adjust: 100%;}
*, *::before, *::after {box-sizing: border-box;}
table {border-collapse: collapse;border-spacing: 0;}
td {padding: 5px;vertical-align: top;}
a {color: var(--color-ink-strong);font-weight:var(--weight-strong);text-decoration: none;}
a:hover {color: var(--color-ink-strong);text-decoration: underline;}
p {padding: var(--ken) 0px var(--ken) 0px;}
ul {padding: calc(var(--ken) * 2) 0px calc(var(--ken) * 2) calc(var(--ken) * 4);}
ul li {padding: calc(var(--ken) / 2) 0px calc(var(--ken) / 2) 0px;}
ol {padding: calc(var(--ken) * 2) 0px calc(var(--ken) * 2) calc(var(--ken) * 4);}
ol li {padding: calc(var(--ken) / 2) 0px calc(var(--ken) / 2) 0px;}
sup, sub {position: relative;top: -0.4em;vertical-align: baseline;}
sub { top: 0.4em; }

/* =========================================================
   02. TYPOGRAPHY
   ========================================================= */
/****** Heading Tags ******/
h1, h2.title {padding: 0px 0px calc(var(--ken) * 2) 0px;line-height:var(--line-h1);font-size: var(--size-h1);color: var(--color-h1);}
h1 a, h2.title a {color: var(--color-h1);}
h1 a:hover, h2.title a:hover {color: var(--color-h1-hover);}
h2 {padding: var(--h-pad-top) 0px calc(var(--ken) * 2) 0px;line-height:var(--line-h2);font-size: var(--size-h2);color: var(--color-h2);}
h2 a {color: var(--color-h2);}
h2 a:hover {color: var(--color-h2-hover);}
h3 {padding: var(--h-pad-top) 0px calc(var(--ken) / 2) 0px;line-height:var(--line-h3);font-size: var(--size-h3);color: var(--color-h3);}
h3 a {color: var(--color-h3);}
h3 a:hover {color: var(--color-h3-hover);}
h4 {padding: var(--h-pad-top) 0px calc(var(--ken) / 2) 0px;line-height:var(--line-h4);font-size: var(--size-h4);color: var(--color-h4);}
h4 a {color: var(--color-h4);}
h4 a:hover {color: var(--color-h4-hover);}
h5 {padding: var(--h-pad-top) 0px calc(var(--ken) / 2) 0px;line-height:var(--line-h5);font-size: var(--size-h5);color: var(--color-h5);}
h5 a {color: var(--color-h5);}
h5 a:hover {color: var(--color-h5-hover);}
h6 {padding: var(--h-pad-top) 0px calc(var(--ken) / 2) 0px;line-height:var(--line-h6);font-size: var(--size-h6);color: var(--color-h6);}
h6 a {color: var(--color-h6);}
h6 a:hover {color: var(--color-h6-hover);}
h1,h2,h3,h4,h5,h6 {margin: 0;font-weight:var(--weight-strong);font-family: var(--font-display);}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {font-weight:var(--weight-heavy);}
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover {text-decoration: underline;}
.hara h1,.hara h2,.hara h3,.hara h4,.hara h5,.hara h6 { clear: both; }

/****** Blockquotes ******/

blockquote {		
	--size-blockquote: 18px;
	--line-blockquote: 24px;
	--color-blockquote: #282828;
	--color-blockquote-edge: #232323;
	--color-blockquote-panel: #efefef;
}
.dark blockquote {	
	--color-blockquote: #1b1b1b;
	--color-blockquote-edge: #fff;
	--color-blockquote-panel: #8C8C8C;
}
blockquote {padding: var(--ken) calc(var(--ken) * 2);border-left: var(--border-strong) solid var(--color-blockquote-edge);font-size: var(--size-blockquote);line-height: var(--line-blockquote);color: var(--color-blockquote);background: var(--color-blockquote-panel);}
@media only screen and (max-width: 959px) {
	blockquote {
		--size-blockquote: 16px;
		--line-blockquote: 20px;
	}
}
@media only screen and (max-width: 639px) {
	blockquote {
		--size-blockquote: 14px;
		--line-blockquote: 18px;
	}
}

/****** Lead-In Paragraph ******/
.spotlight {
	--size-spotlight: 24px;
	--line-spotlight: 34px;
}
.initial-cap {
	--size-cap: 50px;
	--padding-cap-right: 5px;
	--margin-drop-cap: 8px;
	--margin-drop-cap-spotlight: 10px;
	--margin-raise-cap: -13px;
	--margin-raise-cap-spotlight: -11px;
}
.spotlight {font-size: var(--size-spotlight);line-height: var(--line-spotlight);}
.initial-cap::first-letter {float: left;font-size: var(--size-cap);line-height: 1px;padding-right: var(--padding-cap-right);font-weight: var(--weight-strong);}
.initial-cap.drop::first-letter {margin-top: var(--margin-drop-cap);}
.spotlight.initial-cap.drop::first-letter {margin-top:var(--margin-drop-cap-spotlight);}
.initial-cap.raise {margin-top: calc(var(--size-cap) / 2);}
.initial-cap.raise::first-letter {margin-top: var(--margin-raise-cap);}
.spotlight.initial-cap.raise::first-letter {margin-top: var(--margin-raise-cap-spotlight);}
@media only screen and (max-width: 959px) {
	.spotlight {
		--size-spotlight: 20px;
		--line-spotlight: 28px;
	}
	.initial-cap {
		--size-cap: 40px;
		--margin-raise-cap: -10px;
		--margin-raise-cap-spotlight: -8px;
	}
}
@media only screen and (max-width: 639px) {
	.spotlight {
		--size-spotlight: 18px;
		--line-spotlight: 24px;
	}
	.initial-cap {
		--size-cap: 30px;
		--margin-raise-cap: -7px;
		--margin-raise-cap-spotlight: -5px;
	}
}

/****** eyebrow ******/
.eyebrow {
	--size-eyebrow: 13px;
	--line-eyebrow: 16px;
	--color-eyebrow: #866513;
	--letter-spacing-eyebrow: .8px;
}
.dark .eyebrow {
	--color-eyebrow: #C4951C;
}
.eyebrow {
	text-transform: uppercase;padding: 0 0 var(--ken) 0 !important;line-height:var(--line-eyebrow);font-size: var(--size-eyebrow);color:var(--color-eyebrow);letter-spacing:var(--letter-spacing-eyebrow);display:block;
}

/* =========================================================
   03. MAIN ARCHITECTURE (KATA/KUMI)
   ========================================================= */
   
/* ================================
  03.1 Kata (structural primitives)
   ================================ */
/********* Main Kata *********/
.face {position:relative;
	--width-spine: 1200px;
}
.spine {max-width:var(--width-spine);margin:0 auto;padding:0 var(--site-gutter);position:relative;z-index:var(--z-cho);}
.pocket {padding:calc(var(--ken) * 8) 0;}
.core {}
/*** Core Structures ***/
.core.setsu-naka {margin: 0 auto;}
.core.setsu-migi {margin: 0 0 0 auto;}
.core.setsu-hidari {margin: 0 auto 0 0;}
.core.setsu-moto {max-width: var(--width-moto);}
.core.setsu-sho {max-width: var(--width-sho);}
.core.setsu-chu {max-width: var(--width-chu);}
.core.setsu-dai {max-width: var(--width-dai);}
.core.setsu-cho {max-width: var(--width-cho);}

/* ================================
  03.2 Kumi (layout assemblies)
   ================================ */
   
/********************* Main Kumi *********************/
.main {
	--size-h1: 48px;
	--line-h1: 52px;
	--size-h2: 32px;
	--line-h2: 36px;
	--h-pad-top: calc(var(--ken) * 2);
	--width-do: 1600px;
	--width-do-hasami: 1200px;
	--width-hara: 65%;
	--width-tsubasa: 30%;
	--gap-tsubasa: 5%;
}
@media only screen and (min-width : 960px) and (max-width : 1399px) {
	.main {
		--size-h1: 3.42vw;
		--line-h1: 3.71vw;
	}
	
}
.do {max-width: var(--width-do);margin: 0 auto;padding: 0 var(--site-gutter);display: flex;flex-wrap: wrap;position: relative; z-index:var(--z-dai);}
.hara {width: var(--width-hara);padding: 0px 0px calc(var(--ken) * 4) 0px;}
.tsubasa {width: var(--width-tsubasa);padding: 0px 0px calc(var(--ken) * 4) 0px;margin: 0px 0px 0px var(--gap-tsubasa);}
.do.saku .hara {width:100%;}
.do.saku.hasami { max-width: var(--width-do-hasami); }
.do.saku .tsubasa {display: none;}

/* dark color variations */
.dark {
	color:var(--color-ink);

	--color-ink: #e5e5e5;
	--color-ink-strong: #fff;
	--color-ink-soft: #ededed;
	--color-ink-muted: #dadada;
	--color-ink-faint: #cccccc;
	--color-ink-light: #a9a9a9;
	--color-ink-lighter: #757575;

	--color-h1: #ffffff;
	--color-h1-hover: #ededed;
	--color-h2: #ffffff;
	--color-h2-hover: #ededed;
	--color-h3: #ffffff;
	--color-h3-hover: #ededed;
	--color-h4: #ffffff;
	--color-h4-hover: #ededed;
	--color-h5: #ffffff;
	--color-h5-hover: #ededed;
	--color-h6: #ffffff;
	--color-h6-hover: #ededed;
	
	--color-line: #dadada;
	--color-line-soft: #757575;
	--color-line-dim: #343434;
	--color-line-strong: #ffffff;

	--color-inverse: #000;
	--color-inverse-soft: #121212;
	--color-inverse-muted: #333333;
	--color-danger: #ea0000;

	--color-shadow-soft: rgba(255,255,255,.04);
	--color-shadow-mid: rgba(255,255,255,.10);
	--color-shadow-focus: rgba(255,255,255,.25);

	--color-focus: #666666;
	--color-focus-light: #323232;
}


/********************* Hero Kumi (Tokonoma) *********************/
/********* Tokonoma Cho *********/
#tokonoma {
	--tokonoma-panel: #faf5f2;
	--tokonoma-width-spine: 1720px;
	--tokonoma-moto-width-spine: 1000px;
	--tokonoma-core: 900px;
	--banner-h: 100px;
	--size-h2: 24px;
	--line-h2: 24px;
	--color-h2: #3c3c3b;
	--size-p: 18px;
	--line-p: 22px;
	--size-detail: 14px;
	--line-detail: 16px;
	--tokonoma-color: #3c3c3b;
	--tokonoma-color-alt: #181818;
}
#tokonoma.face {padding-top: var(--banner-h);background: var(--tokonoma-panel);}
#tokonoma .spine {max-width: var(--tokonoma-width-spine);}
#tokonoma .pocket {padding: 15.62% 0px 9.78% 0px;}
#tokonoma .core {max-width: var(--tokonoma-core);color:var(--tokonoma-color);}
/********* Tokonoma Moto *********/
#tokonoma.moto.face {}
#tokonoma.moto .spine {max-width: var(--tokonoma-moto-width-spine);}
#tokonoma.moto .pocket {padding:calc(var(--ken) * 2) 0 calc(var(--ken) * 4) 0;}
#tokonoma.moto .core {max-width: none;}
/********* Hero Kumi Shared *********/
.ji.tokonoma-art {display: flex;align-items: center;justify-content: center;}
.ji.tokonoma-moto-art {opacity:.6;}
.ji.tokonoma-art img {width: auto;display: block;}
.tokonoma-text h1 {padding: 0;margin-bottom:3%;font-weight:var(--weight-medium);position:relative;}
.tokonoma-text h1 strong {line-height:var(--line-h1-bold);font-size: var(--size-h1-bold);color:var(--color-h1-bold);font-weight:var(--weight-strong);} 
.tokonoma-text h1::before {content: "";display: block;width:100px;height:2px;background:#c46b29;position: absolute;bottom:0px; left:30px;}
.tokonoma-text p {line-height:var(--line-p);font-size: var(--size-p);padding: 0px;margin-bottom:4%;max-width: 75%;}
#tokonoma:not(.moto) .tokonoma-text p {max-width: 500px;}
.tokonoma-text p strong {color:var(--tokonoma-color-alt);font-weight:var(--weight-medium);} 
.tokonoma-text p span.alt-color {color:var(--tokonoma-color-alt);font-weight:var(--weight-body);} 
.tokonoma-text p.details {padding: var(--ken) 0px var(--ken) 0px;position:relative;}
.tokonoma-text p.details::before {content: "";display: block;width:80px;height:2px;background:#c46b29;position: absolute;bottom:11px; left:20px;}
.tokonoma-text a, .tokonoma-text a:hover{color: #000000;}
.tokonoma-text a, .tokonoma-text a:hover{color: #000000;}
.tokonoma-text .tokonoma-under {display: inline-block;padding: 0px 0px 5px 0px;border-bottom:1px solid #b9b3b0;} 
.tokonoma-aside {width:480px;margin: -33px -600px 0px 0px;float:right;}
.tokonoma-aside h2 {padding: 0px 0px 20px 0px;margin-bottom:5px;font-weight:var(--weight-medium);font-style:italic;position:relative;}
.tokonoma-aside h2::before {content: "";display: block;width:120px;height:16px;background: url("../images/wave.png") no-repeat center center;background-size: contain;position: absolute;bottom:0px; left:255px;}
.tokonoma-aside ul {padding: 0px 0px 0px 0px;list-style:none;line-height:var(--line-detail);font-size: var(--size-detail);font-weight:var(--weight-medium);}
.tokonoma-aside ul li {padding: 3px 0px 3px 8px;margin-left: calc(5px * var(--step, 1));position:relative;}
.tokonoma-aside ul li:nth-child(1) {--step: 0;}
.tokonoma-aside ul li:nth-child(2) {--step: 1;}
.tokonoma-aside ul li:nth-child(3) {--step: 2;}
.tokonoma-aside ul li:nth-child(4) {--step: 3;}
.tokonoma-aside ul li::before {content: "";position: absolute;width: 4px;height: 4px;background: #c46b29;left: 0;top: 10px;border-radius:2px;}
.tokonoma-aside a, .tokonoma-aside a:hover{color: #000000;}
@media only screen and (min-width : 960px) and (max-width : 1739px) {
	#tokonoma:not(.moto) {
		--tokonoma-core: 51.72vw;
		--size-p: 1.03vw;
		--line-p: 1.26vw;
		--size-h2: 1.37vw;
		--line-h2: 1.37vw;
	}
	.tokonoma-text h1::before {width:5.74vw;left:1.72vw;}
	#tokonoma:not(.moto) .tokonoma-text p {max-width: 28.73vw;}
	.tokonoma-text p.details {padding: 0.63vw 0vw 0.63vw 0vw;}
	.tokonoma-text p.details::before {width:4.59vw;bottom:0.63vw; left:1.14vw;}
	.tokonoma-aside {width:27.58vw;margin: -1.89vw -34.48vw 0vw auto;}
	.tokonoma-aside h2 {padding: 0vw 0vw 1.14vw 0vw;}
	.tokonoma-aside h2::before {width:6.89vw;height:0.91vw;left:14.65vw;}
}
@media only screen and (min-width : 960px) and (max-width : 1559px) {
	#tokonoma{--banner-h: 6.41vw;}
}
@media only screen and (min-width : 960px) and (max-width : 1159px) {
	#tokonoma {
		--size-detail: 12px;
	}
}

/********************* Navigation Kumi *********************/
/****** Top Banner *******/
#top-banner {
	--banner-panel: #0A1F44;
	--top-banner-width-spine: 1920px;
	--banner-border: #242D3A;
	--menu-icon-width: 30px;
	--menu-icon-height: 25px;
	--nav-gap: 20px;
	--nav-link-line: 68px;
	--color-nav: #3c3c3b;
	--color-nav-hover: #c46b29;
	--size-nav: 18px;
	--size-nav-drop: 15px;
	--dropdown-panel: #ffffff;
	--dropdown-mid-panel: #fcfcfc;
	--dropdown-border: #c46b29;
	--color-dropdown: #3c3c3b;
	--color-dropdown-hover: #969696;
	--dropdown-w: 240px;
	--dropdown-thin-w: 180px;
	--dropdown-xwide-w: 300px;
	--dropdown-dwide-w: 460px;
	--dropdown-dwide-item-w: 200px;
	--dropdown-xwide-dwide-w: 580px;
	--dropdown-xwide-dwide-item-w: 260px;
	--dropdown-row-h: 44px;
}
#top-banner {width: 100%;position: absolute;top: 0;left: 0;z-index: var(--z-banner);min-width: 320px;font-family: var(--font-display);}
#top-banner-panel  {max-width: var(--top-banner-width-spine);margin: 0 auto;padding: 0 var(--site-gutter);display: flex;align-items: center;gap: var(--nav-gap);min-height: var(--banner-h);}
a.home {padding-left:70px;height:50px;font-size: 12px;line-height:16px;color:#3c3c3b;font-weight:var(--weight-strong);text-decoration: none;background: url("../images/logo.png") no-repeat left center;background-size: auto 50px;display:inline-block;}
a.home .business {padding-top:4px;display: block;}
a.home strong {font-size: 22px;font-weight:var(--weight-heavy);font-family:var(--font-display);color:#181818;display: inline-block;}
a.home .business-type {letter-spacing:.8px;display: inline-block;}
#menu-icon {width: var(--menu-icon-width);color: var(--color-panel-dark);height: var(--menu-icon-height);margin-left:auto;display: block;white-space: nowrap;text-decoration: none;overflow:hidden;}
#menu-icon .bar {background:#181818;height:5px;margin-bottom:5px;border-radius: 2px;}
/****** Navigation Menu *******/
ul#main-nav {margin: 0;padding: 0;list-style: none;display: flex;justify-content: flex-end;align-items: center;flex: 1 1 auto;}
ul#main-nav li {position: relative;display: inline-block;margin: 0;padding: 0;font-size: var(--size-nav);color: var(--color-nav);}
ul#main-nav li > a {display: inline-block;padding: 0 calc(var(--ken) * 2);line-height: var(--nav-link-line);color: var(--color-nav);text-decoration: none;font-weight: var(--weight-medium);}
ul#main-nav li:hover > a {color: var(--color-nav-hover);}
ul#main-nav a:focus-visible {color: var(--color-nav-hover);outline: var(--focus-ring-width) solid var(--color-focus);outline-offset: var(--focus-ring-offset);text-decoration: underline;}
/*** Second-Level Dropdown ***/
ul#main-nav li ul {position: absolute;top: 100%;left: 0;display: none;width: var(--dropdown-w);padding: 10px 10px 10px 10px;margin: 0;list-style: none;background: var(--dropdown-panel);z-index: var(--z-dropdown);border-bottom: 5px solid var(--dropdown-border);box-shadow:0px 0px 2px 1px var(--color-shadow-soft);}
/*** Dropdown items ***/
ul#main-nav li ul li {display: flex;align-items: center;height: var(--dropdown-row-h);box-sizing: border-box;padding: 0;margin: 0px 10px 0px 10px;border-bottom: var(--border-thin) solid var(--color-line-soft);text-transform: none;}
ul#main-nav li ul li:last-child { border-bottom: none; }
ul#main-nav li ul li a {display: block;width: 100%;padding: 0;line-height: 18px;font-size: var(--size-nav-drop);font-weight: var(--weight-body);color: var(--color-dropdown);text-decoration: none;}
ul#main-nav li ul li:hover > a {color: var(--color-dropdown-hover)}
/*** Third-Level Dropdown ***/
ul#main-nav li ul li ul {position: absolute;top: 0;left: 100%;display: none;margin: 0;margin-top:-10px;padding: 10px;width: var(--dropdown-w);background: var(--dropdown-mid-panel);}
/*** Fourth-Level Dropdown ***/
ul#main-nav li ul li ul li ul {position: absolute;top: 0;left: 100%;display: none;padding: 10px;width: var(--dropdown-w);background: var(--dropdown-panel);}
/*** Display Dropdown ***/
ul#main-nav li:hover > ul,ul#main-nav li:focus-within > ul {display: block;}
ul#main-nav li ul li:hover > ul,ul#main-nav li ul li:focus-within > ul {display: block;}
ul#main-nav li ul li ul li:hover > ul,ul#main-nav li ul li ul li:focus-within > ul {display: block;}
/*** Custom Widths ***/
ul#main-nav li ul.thin {width: var(--dropdown-thin-w);}
ul#main-nav li ul.xwide {width: var(--dropdown-xwide-w);}
ul#main-nav li ul.dwide {width: var(--dropdown-dwide-w);}
ul#main-nav li ul.dwide li {width: var(--dropdown-dwide-item-w);float: left;}
ul#main-nav li ul.xwide.dwide {width: var(--dropdown-xwide-dwide-w);}
ul#main-nav li ul.xwide.dwide li {width: var(--dropdown-xwide-dwide-item-w);}
/*** Sticky Navigation ***/
#top-banner.fixed {position: fixed;top: -200px;background: var(--color-page);box-shadow:0px 0px 2px 1px rgba(0,0,0,.04);}
#top-banner.fixed-show {top: 0;transition:.25s;}
@media only screen and (min-width : 960px) and (max-width : 1299px) {
	ul#main-nav li {--size-nav: 16px;}
	ul#main-nav li > a {padding: 0 var(--ken);}
}

/******  Mobile Tsubasa ******/
#viewport {
	--width-mobile-menu: 240px;
}
#side-menu {
	--side-menu-margin-logo: 10px;
	--side-menu-arrow-width: 10px;
	--side-menu-arrow-height: 5px;
	--side-menu-size: 18px;
	--side-menu-size-sub: 14px;
	--side-menu-line: 18px;
	--side-menu-color: #fff;
	--side-menu-close-color: #000;
	--side-menu-close-background-color: #dedede;
}
#viewport {position: relative;width: 100%;overflow-x: hidden;}
body.menu-open #viewport {position: fixed;width: 100%;}
#side-menu {position: fixed;top: 0;left: 0px;width: var(--width-mobile-menu);height: 100%;font-size: var(--side-menu-size);line-height: var(--side-menu-line);background: var(--color-panel-dark);z-index: var(--z-menu);overflow: hidden;box-shadow: inset -10px 0 5px -5px var(--color-shadow-mid);padding-top: var(--ken);transform:translateX(-100%);transition:transform .25s ease;}
body.menu-open #side-menu {transform:translateX(0);}
#side-menu-viewport {width: auto;height: 100vh;max-height: 100vh;overflow-y: auto;overflow-x:hidden;padding-right: var(--site-gutter);}
#side-menu-overlay {position: fixed;inset: 0;z-index: var(--z-overlay);background-color: rgba(0,0,0,.42);opacity: 0;pointer-events: none;transition: opacity .25s ease;}
body.menu-open #side-menu-overlay {opacity: 1;pointer-events: auto;}
#side-menu a.home {padding-left:60px;height:40px;display: block;max-width: calc(var(--width-mobile-menu) - var(--site-gutter));margin: var(--side-menu-margin-logo) 0 0 var(--site-gutter);background-size: auto 40px;}
#side-menu a.home .business {padding-top:0px;}
#side-menu a.home strong {font-size: 20px;color:#fff;}
#side-menu ul {list-style: none;padding: var(--ken) 0 calc(var(--ken) * 2) var(--site-gutter);width: calc(var(--width-mobile-menu) - var(--site-gutter));}
#side-menu li {border-bottom: var(--border-thin) solid #fff;}
#side-menu li.no-border {border: none;}
#side-menu a {display: block;padding: var(--ken) 0;color: var(--side-menu-color);text-decoration: none;font-weight:var(--weight-medium);}
#side-menu a:hover,#side-menu a:focus {color: var(--side-menu-color);}
#side-menu ul ul {display: none;padding: 0px calc(var(--ken) * 2) var(--ken) var(--ken);font-size: var(--side-menu-size-sub);}
#side-menu li.open > ul {display:block;}
#side-menu ul ul li {border: none;}
#side-menu ul ul a {padding: calc(var(--ken) / 2) 0;}
#side-menu li.has-children > a span::after {content: "";width: var(--side-menu-arrow-width);height: var(--side-menu-arrow-height);display: inline-block;margin-left: calc(var(--ken) / 2);background: var(--side-menu-color);vertical-align: middle;transform: translateY(-1px);-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3E%3Cpath d='M0 0h10L5 5z' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3E%3Cpath d='M0 0h10L5 5z' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;}
#side-menu #close-menu {position: absolute;top: var(--ken);right: var(--ken);width: calc(var(--ken) * 2);height: calc(var(--ken) * 2);color:var(--side-menu-close-color);display: block;border-radius: var(--ken);background: var(--side-menu-close-background-color);}
#side-menu #close-menu::before {content:"×";display:block;text-align:center;width: calc(var(--ken) * 2);line-height:calc(var(--ken) * 2);font-size:var(--side-menu-size);position:absolute;top:0;}
#side-menu .search {margin: calc(var(--ken) * 2) 0 var(--ken) 0;width: 100%;}

/********************* Capabilities Kumi *********************/
.capability-module {background: var(--color-page-soft);}

.builds-refinement {border-left: 1px solid #b9b3b0;}
.builds-refinement .panel-1-pane {margin-left: 40px;}
.ji.devices-art {border-radius:3px;overflow:hidden;}

.panel-1 .code {font-size: var(--size-panel);line-height: var(--line-panel);color: var(--color-ink-soft);}
.panel-1 .code p {padding: calc(var(--ken) / 2) 0px calc(var(--ken) / 2) 0px;}
.panel-1-hr.capability-hr {margin-left: 40px;}
@media only screen and (min-width : 960px) and (max-width : 1399px) {
	.capability-module {
		--size-h2: 3.42vw;
		--line-h2: 3.57vw;
	}

}

/********************* Reasons Kumi (Shidan) *********************/
.reasons-module {
	--width-spine: 1400px;
}
.reasons-module {background: var(--color-panel-dim);font-size: var(--size-panel);line-height: var(--line-panel);}
.reason-1 {margin: 0 0 0 0;}
.reason-2 {margin: 7.81% 0 7.81% 0;}
.reason-3 {margin: 15.62% 0 0 0;}
.reason-4 {margin: 0 0 0 0;}
.reason-5 {margin: 7.81% 0 7.81% 0;}
@media only screen and (min-width : 960px) and (max-width : 1539px) {
	.why-it-works h2 {line-height:3.24vw;font-size: 3.11vw;}
	.why-it-works p{font-size: 1.16vw;line-height: 1.55vw;}
}

/********************* Fit Kumi *********************/
.fit-module {background: var(--color-page-soft);}
.ji.fit-ji-sho-art {background:  var(--color-page-soft);opacity:.9;}

/********************* CTA Kumi *********************/
.banner-module {
	--width-spine: 1000px;
}
.banner-module {background: var(--color-page-soft);}
.banner-module.dark {background: var(--color-panel-dim);}


/********************* Why Kumi *********************/
.why-module {
	--width-spine: 1400px;
}
.why-module {background: var(--color-page-soft);}
.ji.why-folded-logic-art img {object-position: center center;}
.why {width:50%;margin:0 0 0 auto;}
.why p.wrap-up {padding: calc(var(--ken) * 2) 0px 0px 0px;font-weight:700;}
@media only screen and (min-width : 960px) and (max-width : 1399px) {
.why h2 {font-size: 3.42vw;line-height:3.71vw;}
.why p {padding: 0.71vw 0vw 0.71vw 0vw;font-size: 1.5vw;line-height: 2vw;}
.why p.wrap-up {padding: 3.57vw 0vw 0vw 0vw;}

}

/********************* Methods Kumi *********************/
.methods-module {
	--width-spine: 1500px;
}
.methods-module {background: var(--color-page-soft);text-align:center;}
.methods-grid {width:80%;margin: 0 auto;}
.col-wrap.methods-grid > .col-1-3:nth-child(-n+3) {flex:0 0 calc((80% - var(--col-gap) * 2) / 3);}
.col-wrap.methods-grid > .col-1-3:nth-child(n+4) {flex:0 0 calc((100% - var(--col-gap) * 2) / 3);}
.col-wrap.methods-grid > .col-1-3:nth-child(1),.col-wrap.methods-grid > .col-1-3:nth-child(3),.col-wrap.methods-grid > .col-1-3:nth-child(4),.col-wrap.methods-grid > .col-1-3:nth-child(6) { margin-top: calc(var(--ken) * 4);margin-bottom: calc(var(--ken) * 4); }
.methods-wrap-up p.wrap-up {padding: calc(var(--ken) * 2) 0px 0px 0px;font-weight:700;}
@media only screen and (min-width : 960px) and (max-width : 1499px) {
.methods-text {padding: 0vw 0vw 2.00vw 0vw;}
.methods-text h2 {padding: 0vw 0vw 1.00vw 0vw;font-size: 3.2vw;line-height:3.46vw;}
.methods-text {font-size: 1.4vw;line-height: 1.86vw;}
.methods-text p {padding: 0.66vw 0vw 0.66vw 0vw;}
}
/********************* Experience Kumi *********************/
.experience {
	--width-spine: 1400px;
}
.experience {background: var(--color-panel-dim);}
.experience-wrap-up .button {margin-top:calc(var(--ken) * 2)}

/********************* About Kumis *********************/
.about-intro .core {font-size: var(--size-panel);line-height: var(--line-panel);}
.about-builder {background: var(--color-panel-dim);}
.about-builder .core {font-size: var(--size-panel);line-height: var(--line-panel);}

.about-close {
	--width-spine: 1000px;
}

.core-experiences {
	--width-spine: 1400px;
}
.core-experiences {background: var(--color-panel-dim);}
.ji.core-experiences-ji-sho-art{background:  var(--color-panel-dark);opacity:.8;}

/********************* Architecture Kumis *********************/
.architecture-system {
	--width-spine: 1000px;
}
.architecture-system {background: var(--color-panel-dim);}

.css-architecture {background: var(--color-page-soft);}
.css-architecture .core {font-size: var(--size-panel);line-height: var(--line-panel);}

.responsive-architecture {background: var(--color-panel-dim);}
.responsive-architecture .core {font-size: var(--size-panel);line-height: var(--line-panel);}

.performance-maintainability .core {font-size: var(--size-panel);line-height: var(--line-panel);}

.architecture-fit {background: var(--color-panel-dim);}
.ji.architecture-fit-ji-sho-art {background:  var(--color-panel-dark);opacity:.8;}

.architecture-experience {background: var(--color-panel-dim);}

/********************* Services Kumis *********************/
.core-services {background: var(--color-panel-dim);}
.ji.core-services-ji-sho-art{background:  var(--color-panel-dark);opacity:.8;}

.custom-coded-builds .core {font-size: var(--size-panel);line-height: var(--line-panel);}

.designer-handoffs {background: var(--color-panel-dim);}
.designer-handoffs .core {font-size: var(--size-panel);line-height: var(--line-panel);}

.technical-rebuilds .core {font-size: var(--size-panel);line-height: var(--line-panel);}

.responsive-services {background: var(--color-panel-dim);}
 
.services-process {
	--width-spine: 1500px;
}
.services-process {background: var(--color-page-soft);}
.services-process.dark {background: var(--color-panel-dim);}
.services-process-grid {width:80%;margin: 0 auto;}
.services-process-text {padding: 0px 0px calc(var(--ken) * 4) 0px;text-align:center;}
.col-wrap.services-process-grid > .col-1-3:nth-child(-n+3) {flex:0 0 calc((80% - var(--col-gap) * 2) / 3);}
.col-wrap.services-process-grid > .col-1-3:nth-child(n+4) {flex:0 0 calc((100% - var(--col-gap) * 2) / 3);}
.col-wrap.services-process-grid > .col-1-3:nth-child(1),.col-wrap.services-process-grid > .col-1-3:nth-child(3),.col-wrap.services-process-grid > .col-1-3:nth-child(4),.col-wrap.services-process-grid > .col-1-3:nth-child(6) { margin-top: calc(var(--ken) * 4);margin-bottom: calc(var(--ken) * 4); }

.services-process-grid {width:80%;margin: 0 auto;}

/********************* Simple Content Page Kumi *********************/
.simple-content-module {
	--width-spine: 800px;
}
.simple-content-module {background: var(--color-page-soft);}

/********************* Selected Work Page Kumis *********************/
.selected-work-intro {background: var(--color-page-soft);}

.rodriguez-demo {background: var(--color-panel-dim);}
.rodriguez-demo .button {margin-top:calc(var(--ken) * 2);}

.voicewithmegan-website {background: var(--color-page-soft);}
.voicewithmegan-website .button {margin-top:calc(var(--ken) * 2);}

.foldedlogic-website {background: var(--color-panel-dim);}
.foldedlogic-website .button {margin-top:calc(var(--ken) * 2);}

.selected-work-cta {background: var(--color-page-soft);}
.selected-work-cta .button {margin-top:calc(var(--ken) * 2);}

/********************* Contact Page Kumi *********************/
.contact-main-module {background: var(--color-page-soft);}
.contact-main-module .core {font-size: var(--size-detail);line-height: var(--line-detail);}
.contact-main-module ul {padding-left: calc(var(--ken) * 2);}

/********************* Contact Kumi *********************/
.contact-module {background: var(--color-panel-dim);}
.ji.contact-art img {filter: blur(2px);}
.ji.contact-ji-sho-art {background:  var(--color-panel-dark);opacity:.8;}
.contact-columns {flex-direction: row-reverse;}

/*** Contact Shared ***/
.contact-text {max-width:400px;margin: 0 auto;}
.contact-form {max-width:400px;margin: 0 auto;padding:calc(var(--ken) * 2);background: rgba(0,0,0,.8);border: var(--border-thin) solid var(--color-line-strong);backdrop-filter: blur(5px);font-size: var(--size-detail);line-height:var(--line-detail);}
.dark .contact-form {background: rgba(100,100,100,.3);border: var(--border-thin) solid var(--color-line-faint);}
.contact-form .button {width:100%;}
@media only screen and (min-width : 960px) and (max-width : 1239px) {
.contact-text h2 {line-height:4.03vw;font-size: 3.87vw;}

}

/********************* Footer Kumi *********************/
.footer-module {
	--width-spine: 1400px;
}
.footer-module {background:var(--color-panel-dark);}
.footer-module .pocket {padding:calc(var(--ken) * 4) 0px calc(var(--ken) * 2) 0px;}
.footer-columns {line-height:var(--line-panel);font-size: var(--size-panel);}
.copyright {padding:calc(var(--ken) * 2) 0 0 0;margin-top:calc(var(--ken) * 2);line-height:var(--line-fine);font-size: var(--size-fine);border-top: var(--border-thin) solid var(--color-line-dim);}
a.home-footer {padding-left:70px;margin-bottom:padding:calc(var(--ken) * 2);height:50px;font-size: 12px;line-height:16px;color:#ddd;font-weight:var(--weight-strong);text-decoration: none;background: url("../images/logo.png") no-repeat left center;background-size: auto 50px;display:inline-block;text-align:left;}
a.home-footer .business {padding-top:4px;display: block;}
a.home-footer strong {color:#fff;font-size: 22px;font-weight:var(--weight-heavy);font-family:var(--font-display);display: inline-block;}
a.home-footer .business-type {letter-spacing:.8px;display: inline-block;}
p.tagline-footer {max-width: 350px;}
.sitemap ul {list-style:none; padding:0;}




/* =========================================================
   04. LAYOUT
   ========================================================= */

/****** Base Columns ******/
.col-wrap {
	--col-gap: 4.16%;
}
.col-wrap {display: flex;flex-wrap: wrap;gap: var(--col-gap);align-items: stretch;}
.col-wrap.none {gap: 0;}
.col-wrap.tight {gap: calc(var(--col-gap) / 2);}
.col-wrap.loose {gap: calc(var(--col-gap) * 1.5);}
.col-wrap.slack {gap: calc(var(--col-gap) * 2);}
.col-wrap.vatop {align-items: flex-start;}
.col-wrap.vamid {align-items:center;}
.col-wrap.vabot {align-items:flex-end;}
.col-wrap > * {min-width:0;}
.col-auto {flex:1 1 0;}
.col-1-2 {flex:0 0 calc((100% - var(--col-gap)) * 1/2);}
.col-1-3 {flex:0 0 calc((100% - var(--col-gap)*2) * 1/3);}
.col-2-3 {flex:0 0 calc(((100% - var(--col-gap)*2) / 3) * 2 + var(--col-gap));}
.col-1-4 {flex:0 0 calc((100% - var(--col-gap)*3) * 1/4);}
.col-3-4 {flex:0 0 calc(((100% - var(--col-gap)*3) / 4) * 3 + var(--col-gap)*2);}
.col-1-5 {flex:0 0 calc((100% - var(--col-gap)*4) * 1/5);}
.col-2-5 {flex:0 0 calc(((100% - var(--col-gap)*4) / 5) * 2 + var(--col-gap));}
.col-3-5 {flex:0 0 calc(((100% - var(--col-gap)*4) / 5) * 3 + var(--col-gap)*2);}
.col-1-6 {flex:0 0 calc((100% - var(--col-gap)*5) * 1/6);}
@media only screen and (min-width : 960px) {
	.col-wrap.vamid-desktop {align-items:center;}
}
@media only screen and (max-width: 639px) {
	.col-wrap:not(.persistent) > :is(.col-1-2,.col-1-3,.col-2-3,.col-3-4,.col-2-5,.col-3-5) {flex:0 0 100%;}
	.col-wrap:not(.persistent) > :is(.col-1-4,.col-1-5) {flex:0 0 calc((100% - var(--col-gap)) * 1/2);}
	.col-wrap:not(.persistent) > :is(.col-min-2) {flex:0 0 calc((100% - var(--col-gap)) * 1/2);}
	.col-wrap:not(.persistent) > .col-1-6 {flex:0 0 calc((100% - var(--col-gap)*2) * 1/3);}
}
@media only screen and (max-width : 459px) {
	.col-wrap:not(.persistent) > .col-1-4:not(.persistent),
	.col-wrap:not(.persistent) > .col-1-5:not(.persistent) {flex: 0 0 100%;}
	.col-wrap:not(.persistent) > .col-1-6 {flex:0 0 calc((100% - var(--col-gap)) * 1/2);}
}

/****** Grid ******/
.gallery-grid {
	--grid-gap: 40px;
	--grid-auto-min: 220px;
	--grid-auto-grand-min: 320px;
}
.gallery-grid {display:grid;gap: var(--grid-gap);grid-auto-rows: max-content;align-items: stretch;}
.gallery-grid.none { gap: 0; }
.gallery-grid.tight { gap: calc(var(--grid-gap) / 2); }
.gallery-grid.loose { gap: calc(var(--grid-gap) * 1.5); }
.gallery-grid.slack { gap: calc(var(--grid-gap) * 2); }
.gallery-grid.dense { grid-auto-flow:dense; }
.gallery-grid.cols-2{ grid-template-columns:repeat(2,1fr); }
.gallery-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
.gallery-grid.cols-4{ grid-template-columns:repeat(4,1fr); }
.gallery-grid.cols-5{ grid-template-columns:repeat(5,1fr); }
.gallery-grid-element {align-self: stretch;height: 100%;}
.gallery-grid-element.vamid {align-self: center;}
.gallery-grid-element.vabot {align-self:end;}
.gallery-grid.auto {grid-template-columns:repeat(auto-fit,minmax(var(--grid-auto-min),1fr));}
.gallery-grid.auto.grand {grid-template-columns:repeat(auto-fit,minmax(var(--grid-auto-grand-min),1fr));}
.gallery-grid .wide {grid-column:span 2;}
.gallery-grid .tall {grid-row:span 2;}
.gallery-grid .feature {grid-column:span 2;grid-row:span 2;}
@media only screen and (min-width : 960px) and (max-width : 1919px) {
	.gallery-grid {
		--grid-gap: 2.08vw;
	}
}
@media only screen and (max-width: 959px) {
	.gallery-grid {
		--grid-gap: 20px;
	}
}
@media only screen and (max-width: 639px) {	
	.gallery-grid.cols-2:not(.persistent),.gallery-grid.cols-3:not(.persistent){ grid-template-columns: 1fr; }
	.gallery-grid.cols-4{ grid-template-columns:repeat(2,1fr); }
	.gallery-grid.cols-5{ grid-template-columns:repeat(2,1fr); }
	.gallery-grid:not(.persistent) > .wide,
	.gallery-grid:not(.persistent) > .feature {
		grid-column: auto;
		grid-row: auto;
	}
}
@media only screen and (max-width : 459px) {
	.gallery-grid.cols-4,.gallery-grid.cols-5{ grid-template-columns: 1fr; }
	.gallery-grid.cols-2,.gallery-grid.cols-3{ grid-template-columns: 1fr; }
}

/****** Freeform Flex ******/
.flex {display: flex;gap: 0px;align-items: flex-start;}
.flex.vamid { align-items: center;}
.flex.vabot { align-items: flex-end;}
.flex.gap {gap: var(--ken);}
.wrapped {flex-wrap: wrap;}
.centered {justify-content: center;}
.reversed {flex-direction: row-reverse;}

/* =========================================================
   05. MEDIA
   ========================================================= */

/****** Image ******/
.lazy {opacity: 0;transition: opacity .35s ease;}
.lazy.loaded {opacity: 1;}

picture {width: fit-content;display:block;}
picture.left img, picture.right img {width:100%;}
img {display: block; max-width: 100%;border: none;height: auto;vertical-align: top;min-width:0;}
img.left, picture.left {float: left;margin: calc(var(--ken) * 3) calc(var(--ken) * 4) calc(var(--ken) * 4) 0px;max-width: 50%;}
img.right, picture.right {float: right;margin: calc(var(--ken) * 3) 0px calc(var(--ken) * 4) calc(var(--ken) * 4);max-width: 50%;}
img.center, picture.center {margin: calc(var(--ken) * 4) auto;}
img.block, picture.block {margin: calc(var(--ken) * 4) 0px;}
img.inline, picture.inline {margin: 0px calc(var(--ken) * 2) calc(var(--ken) * 2) calc(var(--ken) * 2);width:auto;display: inline-block;vertical-align:top;}
img.inline.vamid, picture.inline.vamid { vertical-align: middle; }
img.inline.vabot, picture.inline.vabot { vertical-align: bottom; }
img.max, picture.max img {width:100%;}

/******  Image,Video,Iframe with Captions/Cutlines ******/
/*** shared ***/
figure {
	--size-caption: 16px;
	--line-caption: 22px;
	--size-caption-title: 20px;
	--line-caption-title: 24px;
	--color-caption-title: #181818;
	--size-caption-detail: 14px;
	--line-caption-detail: 14px;
	--color-caption-detail: #6B6B6B;
	--color-caption-all: #6B6B6B;	
	--caption-all-arrow: "→";	
	--video-play-icon: url("../images/video-play.png");
	--video-play-size: auto 100px;
	--image-border-radius: 10px;
	--edge-adjust-width: 45.88%;
	--edge-adjust-width-max: 153.84%;
	--edge-adjust-sink: -53.84%;
}
.dark figure {
	--color-caption-title: #fff;
	--color-caption-detail: #8F8F8F;
	--color-caption-all: #ddd;	
}
a.figure {display:block; text-decoration:none;color:var(--color-ink);font-weight:var(--weight-body);}
a.figure:hover {text-decoration:none;color:var(--color-ink-muted);}
figure .img {width:100%;overflow:hidden;position:relative;border-radius:var(--image-border-radius);}
figure .img.square {aspect-ratio:1/1;}
figure .img.squat {aspect-ratio:3/1;}
figure .img.tall {aspect-ratio:2/3;}
figure .img.aspect {aspect-ratio:16/9;}
figure .img.wrap {border: var(--border-thin) solid var(--color-line-faint);}
figure > img {width:100%;position:relative;z-index:50;border-radius:var(--image-border-radius);}
figure .img img {width:100%;height:100%;object-fit:cover;position:relative;z-index:50;}
figcaption {padding:var(--ken) 0 0 0;font-size:var(--size-caption);line-height:var(--line-caption);color:var(--color-ink-muted);}
figcaption strong.title {display:inline-block;padding:0 0 var(--ken) 0;font-size:var(--size-caption-title);line-height:var(--line-caption-title);color:var(--color-caption-title);font-weight:var(--weight-strong);font-family: var(--font-display);}
figcaption span.detail {display:inline-block;padding:0;font-size:var(--size-caption-detail);line-height:var(--line-caption-detail);color:var(--color-caption-detail);font-weight:var(--weight-body);}
figcaption span.all {display:inline-block;padding-top:var(--ken);font-size:var(--size-caption-detail);line-height:var(--line-caption-detail);color:var(--color-caption-all);font-weight:var(--weight-medium);}
figcaption span.all span {display: inline-flex;align-items: center;gap: 10px;}
figcaption span.all span::after {content: var(--caption-all-arrow);color:var(--color-caption-all);line-height: 0;transform: translateX(-5px);transition: transform .25s ease;display: inline-block;}
a.figure:hover figcaption span.all span::after  {transform: translateX(0px);}
figure .img span.show-video {position: absolute;inset: 0;z-index: 100;background: var(--video-play-icon) no-repeat center center;background-size: var(--video-play-size);opacity: 0.5;pointer-events: none;transition: opacity 0.2s ease-in-out;}
figure .img:hover span.show-video {opacity: 0.7;}
/*** left/right ***/
figure.left {float: left;margin: calc(var(--ken) * 3) calc(var(--ken) * 4) calc(var(--ken) * 4) 0;max-width: 50%;}
figure.right {float: right;margin: calc(var(--ken) * 3) 0 calc(var(--ken) * 4) calc(var(--ken) * 4);max-width: 50%;}
figure.right.edge-adjust {width:var(--edge-adjust-width);margin: calc(var(--ken) * 4) var(--edge-adjust-sink) 0px 0px;max-width: none;}
/*** content width ***/
figure.full {width:100%;margin:calc(var(--ken) * 4) 0;}
figure.full.edge-adjust {float:right;margin:calc(var(--ken) * 4) var(--edge-adjust-sink) calc(var(--ken) * 4) calc(var(--ken) * 4);}
figure.full.max {width: var(--edge-adjust-width-max);}
/*** side by side ***/
figure.sbs {padding:calc(var(--ken) * 2) 0;margin:calc(var(--ken) * 4) auto;font-weight:var(--weight-strong);display:flex;flex-direction:row-reverse;align-items:center;gap:10%;}
figure.sbs.image-left {flex-direction:row;}
.sbs-img {flex:0 0 45%;}
.sbs-img img {display:block;width:100%;height:auto;}
figcaption.sbs-text {flex:1;text-align:right;font-size:var(--size-caption-title);line-height:var(--line-caption-title);padding: 0px;}
figure.sbs.image-left figcaption.sbs-text {text-align:left;}

@media only screen and (max-width: 959px) {
	figure {
		--size-caption: 14px;
		--line-caption: 20px;
		--size-caption-title: 18px;
		--line-caption-title: 22px;
		--size-caption-detail: 13px;
		--line-caption-detail: 13px;
	}
	figure.right.edge-adjust {width:auto;margin: calc(var(--ken) * 2) 0 calc(var(--ken) * 4) calc(var(--ken) * 4);max-width: 50%;}
	figure.full.edge-adjust {float:none;margin: calc(var(--ken) * 2) 0 calc(var(--ken) * 4) 0;}
	figure.full.max {width: 100%;}
}
@media only screen and (max-width: 639px) {
	img.left, picture.left { max-width: 40%; }
	img.right, picture.right { max-width: 40%;}
	img.left.center-mobile, img.right.center-mobile, picture.left.center-mobile, picture.right.center-mobile {float: none; margin: calc(var(--ken) * 4) auto calc(var(--ken) * 4) auto;max-width: 100%;}
	img.center.full-mobile, picture.center.full-mobile {width:calc(100% + calc(var(--site-gutter) * 2)); max-width: calc(100% + calc(var(--site-gutter) * 2)); margin-left:calc(var(--site-gutter) * -1);}
	figure.left {max-width: 40%;}
	figure.right {max-width: 40%;}
	figure.right.edge-adjust {float:none;margin: calc(var(--ken) * 4) auto calc(var(--ken) * 4) auto;}
	figure.left.center-mobile, figure.right.center-mobile {float:none;margin: calc(var(--ken) * 4) auto calc(var(--ken) * 4) auto;max-width: 100%;}
	figure.sbs {flex-direction: column;text-align: center;}
	.sbs-img {max-width: 100%;}
	figure.sbs {display:block;}
	figure.sbs.image-left figcaption.sbs-text {text-align: center;}
	figcaption.sbs-text {padding:calc(var(--ken) * 2) 0 0 0;text-align: center;}	
}

/*** media ***/
.media{width:100%;position:relative;overflow:hidden;}
.media.square {aspect-ratio:1/1;}
.media.squat {aspect-ratio:3/1;}
.media.tall {aspect-ratio:2/3;}
.media.aspect {aspect-ratio:16/9;}
.media.map {aspect-ratio:7/3;}
.media iframe,.media video{width:100%;height:100%;border:0;}

/****** Image/Play ******/
a.video {position: relative;display: block;}
a.video img {display: block;width: 100%;height: auto;margin: 0 auto;position: relative;z-index: 1;}
a.video span {position: absolute;inset: 0;z-index: 2;background: url("../images/video-play.png") no-repeat center center;background-size: auto 100px;opacity: 0.5;pointer-events: none;transition: opacity 0.2s ease-in-out;}
a.video:hover span {opacity: 0.7;}


/* =========================================================
   06. COMPONENTS
   ========================================================= */

/********* Search *********/
.search {width: 100%;background: var(--color-page);border-radius: 19px;}
.search form {display: flex;flex-wrap: wrap;height: 40px;padding: 0 8px;box-sizing: border-box;}
.search input {width: calc(100% - 50px);height: 100%;border: none;background: none;font-size: 16px;padding-left: 10px;outline: none;}
.search input[type=submit] {width: 40px;height: 40px;border: none;background: url("../images/magnify-glass.png") no-repeat center center;color:#000000;background-size: 20px 20px;padding:0;margin:0;cursor: pointer;text-indent:-999999px;}
.search input[type=submit]:hover {opacity: .85;background: url("../images/magnify-glass.png") no-repeat center center;background-size: 20px 20px;}

/****** Breadcrumbs ******/
.breadcrumbs {
	--color-breadcrumb: #000000;
	--color-breadcrumb-hover: #232323;
	--color-breadcrumb-current: #676767;	
	--size-breadcrumb: 14px;
	--line-breadcrumb: 18px;
	--breadcrumb-separator: "›";
	--color-breadcrumb-separator: #232323;
}
.dark .breadcrumbs {
	--color-breadcrumb: #ffffff;
	--color-breadcrumb-hover: #ededed;
	--color-breadcrumb-current: #8C8C8C;
	--color-breadcrumb-separator: #ededed;
}
.breadcrumbs {font-size: var(--size-breadcrumb);line-height: var(--line-breadcrumb);color: var(--color-breadcrumb);}
.breadcrumbs ol {display: inline-flex;flex-wrap: wrap;align-items: center;gap: 0;margin: 0;padding: 0;list-style: none;}
.breadcrumbs li {display: inline-flex;align-items: center;padding: 0;}
.breadcrumbs a {color: var(--color-breadcrumb);text-decoration: none;font-weight: var(--weight-body);}
.breadcrumbs li:not(:last-child)::after {content: var(--breadcrumb-separator);margin: 0 var(--ken) 0px var(--ken);color: var(--color-breadcrumb-separator);}
.breadcrumbs a:hover,.breadcrumbs a:focus-visible {color: var(--color-breadcrumb-hover);text-decoration: underline;}
.breadcrumbs [aria-current="page"], .breadcrumbs [aria-current="page"] a {color: var(--color-breadcrumb-current);text-decoration: none;cursor: default;pointer-events: none;}

/****** Jump ******/
.jump {margin: calc(var(--ken) * 2) 0;text-align: right;font-size: 14px;line-height: 26px;}
.jump a {display: inline-flex;align-items: center;gap: calc(var(--ken) / 2);padding-left:calc(var(--ken) * 2);color: var(--color-ink-strong);text-decoration: none;font-weight: var(--weight-medium);border-top: var(--border-base) solid var(--color-line);}
.jump a::after {content: "▴";font-size: 24px;width:15px;line-height: 1;transform: translateY(-1px);transition: transform .25s ease;}
.jump a:hover::after {transform: translateY(-4px);} 

/****** Styled Lists ******/
/*** Unordered bullet ***/
ul.bullet {padding: 0;margin: 0;list-style: none;}
ul.bullet li {position: relative;padding: var(--ken) 0px var(--ken) calc(var(--ken) * 2);margin-left: var(--ken);}
ul.bullet li::before {content: "";position: absolute;width: var(--ken);height: var(--ken);background: var(--color-panel-dark);left: 0;top: calc(var(--ken) * 2);}
@media only screen and (max-width: 639px) {
	ul.bullet li::before {top: calc(var(--ken) * 2.5);}
}
/*** Unordered  checkmark ***/
ul.checkmark {padding: 0;margin: 0;list-style: none;}
ul.checkmark li {position: relative;padding: var(--ken) 0px var(--ken) calc(var(--ken) * 2);}
ul.checkmark li::before {content: "✓";position: absolute;color:#8B6914;font-size:14px;left: 0;top: var(--ken);}
/*** Ordered ***/
ol.bold {padding: 0;margin: 0;list-style: none;counter-reset: item;}
ol.bold li {position: relative;padding: var(--ken) 0px var(--ken) calc(var(--ken) * 4);counter-increment: item;} 
ol.bold li::before {content: counter(item);position: absolute;left: 0;top: calc(var(--ken) * 1.5);width: calc((var(--ken) * 2) + 5px);height: calc((var(--ken) * 2) + 5px);background: var(--color-panel-dark);color: var(--color-inverse);text-align: center;line-height:calc((var(--ken) * 2) + 5px);font-size:var(--size-caption-detail);}

/****** Button ******/
.button {
	--color-button: #fff;
	--color-button-hover: #fff;
	--color-button-panel: #000;
	--color-button-panel-hover: #000;
	--color-button-border: #000;
	--color-button-border-hover: #000;
	--size-button: 18px;
	--line-button: 22px;
	--padding-button-top: 8px;
	--padding-button-bottom: 8px;
	--padding-button-side: 40px;
	--button-arrow: "→";
}
.button {color:var(--color-button);font-size:var(--size-button);line-height:var(--line-button);padding:var(--padding-button-top) var(--padding-button-side) var(--padding-button-bottom) var(--padding-button-side);text-decoration:none;font-weight:var(--weight-medium);background:var(--color-button-panel);background-image:repeating-linear-gradient(to right,rgba(60, 60, 60, 0.3) 0 1px,transparent 1px 3px),repeating-linear-gradient(to bottom,rgba(60, 60, 60, 0.3) 0 1px,transparent 1px 3px);text-decoration:none;font-weight:600;display:inline-block;border:2px solid #000000;border-radius:3px;cursor:pointer;transition:background .2s, color .2s, border-color .2s;letter-spacing:1px;position:relative;}
.button.thin { padding-left: calc(var(--padding-button-side) / 2);padding-right: calc(var(--padding-button-side) / 2); }
.button.wide { padding-left: calc(var(--padding-button-side) * 1.5);padding-right: calc(var(--padding-button-side) * 1.5); }
.button:hover {color:var(--color-button-hover);text-decoration:none;}
.button:focus-visible {color:var(--color-button-hover);text-decoration:none;outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);}
.button span {display: inline-flex;align-items: center;gap: 5px;}
.button span::after {content: var(--button-arrow);color:#c46b29;margin-bottom: 2px;font-size: 16px;line-height: 1;transform: translateX(0px);transition: transform .25s ease;display: inline-block;}
.button:hover span::after,.button:focus-visible span::after {transform: translateX(5px);}
.external {padding-right:13px;}
.button .external {padding-right:25px;}
.external {margin-right:3px;background-image:url("../images/external.svg");background-repeat:no-repeat;background-position:right bottom 5px;background-size:10px 10px;}
.external.white {background-image:url("../images/external-white.svg");}
.button .external {background-size:15px 15px;}
@media only screen and (min-width : 960px) and (max-width : 1259px) {
	.button {
		--size-button: 16px;
		--line-button: 20px;
		--padding-button-top: 7px;
		--padding-button-bottom: 7px;
		--padding-button-side: 35px;
	}
}
@media only screen and (max-width: 959px) {
	.button {
		--size-button: 14px;
		--line-button: 18px;
		--padding-button-top: 6px;
		--padding-button-bottom: 6px;
		--padding-button-side: 30px;
	}
}
@media only screen and (max-width: 639px) {
	.button {
		--size-button: 13px;
		--line-button: 16px;
		--padding-button-top: 5px;
		--padding-button-bottom: 5px;
		--padding-button-side: 25px;
	}
}

/****** Social Media Icons ******/
.social {padding:calc(var(--ken) * 2) 0; }
.social svg {width:26px; height: 26px;}
.social svg path {fill: var(--color-inverse-soft);}
a.social-profile {width:40px; height: 40px;background: var(--color-page-soft);color:var(--color-inverse-soft);}
a.social-profile:hover {background:var(--color-page)}

/****** Summary/Details ******/
summary {padding:calc(var(--ken) * 2) 0;font-size:var(--size-h2);line-height:var(--line-h2);color:var(--color-ink-strong);font-weight:var(--weight-strong);cursor:pointer;list-style:none;position:relative;}
summary::-webkit-details-marker {display:none;}
summary::marker {display:none;}
summary::after{content:"▸";position:absolute;right:0;top:50%;transform:translateY(-50%);transition:transform .25s ease;font-weight:var(--weight-heavy);}
details[open] summary::after{transform:translateY(-50%) rotate(90deg);}
.summary-content{overflow:hidden;height:0;}
details[open] .summary-content{height:auto;}

/****** Ougi (Slide Accordion) ******/
.ougi-fold {
	--ougi-arrow-color: #8B6914;
	--ougi-hover-color: #FAF8F5;
}
.ougi{scroll-margin-top:var(--scroll-offset);margin-bottom: calc(var(--ken) * 2);border:var(--border-base) solid var(--color-line-faint);}
.ougi-header{padding:calc(var(--ken) * 2);font-size:var(--size-h6);line-height:var(--line-h6);color:var(--color-h6);width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:var(--weight-strong);background:none;border:none;cursor:pointer;}
.ougi-header:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);}
.ougi-header:hover {background:var(--ougi-hover-color);}
.ougi-header[aria-expanded="true"] {background:var(--ougi-hover-color);}
.ougi-header[aria-expanded="true"] .ougi-arrow{transform:rotate(45deg);}
.ougi-arrow{transition:transform .35s cubic-bezier(.34,1.56,.64,1);color:var(--ougi-arrow-color);}
.ougi-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s cubic-bezier(.4,0,.2,1);}
.ougi-panel.open{grid-template-rows:1fr;}
.ougi-inner{overflow:hidden;padding: var(--ken) calc(var(--ken) * 2) var(--ken) calc(var(--ken) * 2);border-top:var(--border-thin) solid var(--color-line-faint);opacity:0;transform:translateY(-8px);transition:opacity .18s ease .08s,transform .18s ease .08s;}
.ougi-panel.open .ougi-inner{opacity:1;transform:translateY(0);}

/****** Panel 1 (Card) ******/
.panel-1 {font-size: var(--size-detail);line-height: var(--line-detail);color: color: var(--color-ink-soft);}
.panel-1 h3 {padding: 0px 0px padding: calc(var(--ken) / 2) 0px;margin-bottom:2px;}
.panel-1 p {padding: calc(var(--ken) / 2) 0px calc(var(--ken) / 2) 0px;}
.panel-1 a, .panel-1 a:hover {color:var(--color-ink-strong);}
.panel-1-hr {margin: calc(var(--ken) * 4) auto calc(var(--ken) * 4) 0px;border-bottom: 1px solid #b9b3b0;}

/****** shared bottom bar  ******/
span.bottom-bar {display:inline-block;position:relative;padding: 0px 0px calc(var(--ken) / 2) 0px;}
span.bottom-bar::before {content: "";display: block;width:50%;height:1px;background:#c46b29;position: absolute;bottom:0px; left:0px;opacity:.5;}

/****** Panel 2 (Card) ******/
.panel-2 {font-size: var(--size-detail);line-height: var(--line-detail);}
picture.panel-2-icon {width:50px;height:50px;margin-bottom:10px;}
.panel-2 h3 {padding: 0px 0px calc(var(--ken) / 2) 0px;margin-bottom:2px;}
.panel-2 h3 span.bottom-bar::before {background:#dddddd;}
.panel-2 p {padding: calc(var(--ken) / 2) 0px calc(var(--ken) / 2) 0px;}
@media only screen and (min-width : 960px) and (max-width : 1539px) {
	picture.panel-2-icon {width:3.24vw;height:3.24vw;margin-bottom:0.64vw;}
	.panel-2 h3 {margin-bottom:0.12vw;line-height:1.94vw;font-size: 1.81vw;}
	.panel-2 h3 span.bottom-bar {padding: 0vw 0vw 0.32vw 0vw;}
}
@media only screen and (max-width: 959px) {
	picture.panel-2-icon {width:31px;height:31px;margin-bottom:6px;}
	.panel-2 h3 {margin-bottom:1px;}
}

/****** Panel 3 (Card) ******/
.panel-3 {
	--size-h3: var(--size-h6);
	--line-h3: var(--line-h6);
}
.panel-3 {font-size: var(--size-panel);line-height: var(--line-panel);}
.panel-3 h3 {padding: 0;min-height:48px;}
.panel-3 h3 span.bottom-bar {border-bottom:1px solid #b9b3b0;}
.panel-3 h3 span.bottom-bar::before {width:30px;height:2px;position: absolute;bottom:-1px; left:30%;}
.panel-3 h3 span.bottom-bar.segment-center::before {left:0;right:0;margin: 0 auto;}
.panel-3 h3 span.bottom-bar.segment-left::before {left:auto;right:30%;}
@media only screen and (min-width : 960px) and (max-width : 1499px) {
.panel-3 h3 span.bottom-bar::before {left:2.66vw;}
.panel-3 h3 span.bottom-bar.segment-left::before {right:2.66vw;}
}
@media only screen and (max-width: 959px) {
	.panel-3 h3 {min-height:44px;}
}
@media only screen and (max-width: 639px) {
	.panel-3 h3 {min-height:40px;}
}

/****** Panel 4 (Card) ******/
.panel-4 {font-size: var(--size-panel);line-height: var(--line-panel);}
.panel-4-pane {width: 100%;height: 100%;padding: calc(var(--ken) * 2);background:rgba(255,255,255,.05);overflow:hidden;border-radius: 25px;}
.panel-4-icon {width:75px;aspect-ratio: 1 / 1;margin: 0 auto 10px auto;border-radius: 50%;background:#F8EFE8;overflow:hidden;}
.panel-4-icon picture {width:50px;height:50px;}
.panel-4 h3 {padding: 0px 0px calc(var(--ken) / 2) 0px;margin-bottom:2px;}
.panel-4 h3.emphasis {font-size: var(--size-h2);line-height: var(--line-h2);font-weight:var(--weight-heavy);}
.panel-4 h3 span.bottom-bar::before {background:#dddddd;position: absolute;bottom:0px;left:25%;}
.panel-4 p {padding: calc(var(--ken) / 2) 0px calc(var(--ken) / 2) 0px;}
@media only screen and (min-width : 960px) and (max-width : 1539px) {
	picture.panel-4-icon {width:3.24vw;height:3.24vw;margin-bottom:0.64vw;}
	.panel-4 h3 {margin-bottom:0.12vw;line-height:1.94vw;font-size: 1.81vw;}
	.panel-4 h3 span.bottom-bar {padding: 0vw 0vw 0.32vw 0vw;}
}
@media only screen and (max-width: 959px) {
	picture.panel-4-icon {width:31px;height:31px;margin-bottom:6px;}
	.panel-4 h3 {margin-bottom:1px;}
}

/****** Panel 5 (Card) ******/
.panel-5 {font-size: var(--size-detail);line-height: var(--line-detail);}
.panel-5.boxed {padding: calc(var(--ken) * 2);background:rgba(0,0,0,.05);overflow:hidden;}
.dark .panel-5.boxed {background:rgba(255,255,255,.05);}
.panel-5-title {display: flex;align-items: center;gap: var(--ken);}
.panel-5-icon {flex: 0 0 calc(var(--ken) * 3);width: calc(var(--ken) * 3);height: calc(var(--ken) * 3);color: var(--color-h3);display: block;overflow: visible;}
.panel-5 h3 {padding-top:0;font-size: var(--size-h6);line-height: var(--line-h6);font-weight:var(--weight-heavy);}
.panel-5.boxed h3 {--color-h3: #866513;}
.dark .panel-5.boxed h3 {--color-h3: #C4951C;}

/* =========================================================
   07. FORMS
   ========================================================= */
:root {
	--color-form: #121212;
	--color-line-form: #ccc;
	--color-panel-form: #fff;
	--border-form: 2px;
	--radius-panel-form: 6px;
	--size-form: 16px;
	--weight-form: 400;

	--field-h: 30px;
	--field-pad-x: 10px;
	--field-pad-y: 10px;
	--field-textarea-h: 100px;
}
/****** Core Inputs ******/
legend {display: block;width:100%;}
label {display: block;font-size: var(--size-form);font-weight: var(--weight-strong);padding-top: var(--ken);margin: 0;}
input,textarea,select {width: 100%;color: var(--color-form);font-size: var(--size-form);font-weight: var(--weight-form);padding-left: var(--field-pad-x);border: var(--border-form) solid var(--color-line-form);background: var(--color-panel-form);border-radius: var(--radius-panel-form);font-family: var(--font-body);appearance: none;outline: none;box-sizing: border-box;}
input { height: var(--field-h); }
textarea {padding-top: var(--field-pad-y);height: var(--field-textarea-h);}
select {height: calc(var(--field-h) - 4px);appearance: menulist;}
input:focus,textarea:focus,select:focus {outline: var(--focus-ring-width) solid var(--color-focus-light);outline-offset: var(--focus-ring-offset);}
::placeholder { color: var(--color-form); opacity: 1; }
input:focus::placeholder, textarea:focus::placeholder { opacity: .1; }

/****** Form Components ******/
select.sm, input.sm {width: 50px;}
select.med, input.med {width: 150px;}
select.lrg, input.lrg {width: 250px;}
input[type="checkbox"],input[type="radio"] {appearance: none;-webkit-appearance: none;width: 1rem;height: 1rem;margin: 0 0.4rem 0 0;border: var(--border-form) solid var(--color-line-form);background: var(--color-panel-form);display: inline-grid;place-content: center;vertical-align: middle;cursor: pointer;transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;box-sizing: border-box;flex: 0 0 auto;}
input[type="checkbox"] {border-radius: 0.2rem;background-repeat: no-repeat;background-position: center;background-size: 0.72rem 0.72rem;}
input[type="radio"] {border-radius: 50%;}
input[type="checkbox"]:checked {border-color: var(--color-form);background-color: var(--color-panel-form);background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
input[type="radio"]:checked {border-color: var(--color-form);background-color: var(--color-panel-form);box-shadow: inset 0 0 0 0.24rem #fff, inset 0 0 0 0.5rem var(--color-form);}
input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible {outline: none;box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-form) 25%, transparent);}
input[type="checkbox"]:hover,input[type="radio"]:hover {border-color: var(--color-form);}
input[type="checkbox"]:disabled,input[type="radio"]:disabled {opacity: 0.6;cursor: not-allowed;}
.form-element {position: relative;}
.anti-spam {padding: 0px 0px var(--ken) 0px;}
.anti-spam label {padding-right: calc(var(--ken) / 2);}
.form-privacy-text {padding:0 0 calc(var(--ken) * 2) 0;line-height: 22px;display: flex;align-items: flex-start;gap: .5em;margin: 0;}
.form-privacy-text input[type="checkbox"] {flex: 0 0 auto;margin-top: calc(var(--ken) * 1.3);}
.form-privacy-text label {flex: 1 1 auto;min-width: 0;}
.alert {color:var(--color-danger);}
.form-error {position: absolute;top: var(--ken);right: calc(var(--ken) / 2);z-index: 20;display: none;line-height: 12px;font-size: 12px;font-weight: var(--weight-strong);color: var(--color-danger);background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 100%);pointer-events: none;}
.form-error.active {display: block;}
input.invalid,textarea.invalid,select.invalid,input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"] {border-color: var(--color-danger) !important;}
fieldset.form-element input[aria-invalid="true"] + label,fieldset.form-element input.invalid + label {color: var(--color-danger);}
.anti-spam .form-error {top: 2px;left:0;margin:0 auto;}
.form-privacy .form-error {top: calc(var(--ken) * -1);left:0;right:0;margin:0 auto;}

/****** Form Custom Elements ******/
#contact-form_a {position:relative;}
input.forma {height: 40px;margin-bottom: var(--ken);background: #F5F0ED;border: var(--border-base) solid #2C2B29;border-radius: 5px;}
textarea.forma {height: 200px;margin-bottom: var(--ken);background: #F5F0ED;border: var(--border-base) solid #2C2B29;border-radius: 5px;}
select.forma {height: 36px;margin-bottom: var(--ken);background: #F5F0ED;border: var(--border-base) solid #2C2B29;border-radius: 5px;}
label.labela {font-size: 16px;line-height:20px;}
legend.legenda {padding-top: calc(var(--ken) * 2);font-size: 16px;line-height:20px;text-align:center;font-weight: var(--weight-strong);}

/****** Form Ajax ******/
.form_process {display:none;position: absolute;inset: -20px;z-index: var(--z-overlay);background: rgba(0,0,0,.7) url("../images/processing.gif") no-repeat center center;background-size: 70px auto;border-radius: 8px;}
.form_process#overlay_foot,.form_process#overlay_side,.form_process#overlay_page {display: none;}


/* =========================================================
   08. UTILITIES
   ========================================================= */
   
/****** Text ******/
.italic {font-style: italic;}
.underline {text-decoration: underline;}
.uppercase {text-transform: uppercase;}
.capitalize {text-transform: capitalize;}
.text-indent {text-indent: calc(var(--ken) * 3);}

/****** Display ******/
.display-block {display:block;}
.display-inline {display:inline;}
.display-inline-block {display:inline-block;}
.display-none {display:none !important;} 

/****** Alignment******/
.awase {text-align: center;}
.awase-left {text-align: left;}
.awase-right {text-align: right;}

/****** Spacing ******/
/* single element vertical spacing */

.ma-moto {padding-top: var(--ma-moto);padding-bottom: var(--ma-moto);}
.ma-sho {padding-top: var(--ma-sho);padding-bottom: var(--ma-sho);}
.ma-chu {padding-top: var(--ma-chu);padding-bottom: var(--ma-chu);}
.ma-dai {padding-top: var(--ma-dai);padding-bottom: var(--ma-dai);}
.ma-cho {padding-top: var(--ma-cho);padding-bottom: var(--ma-cho);}
/* grouped element rhythm */
.choshi-moto,.choshi-sho,.choshi-chu,.choshi-dai,.choshi-cho { display: flow-root; }
.choshi-moto > * { padding-top: var(--ma-moto);padding-bottom: var(--ma-moto); }
.choshi-sho > * { padding-top: var(--ma-sho);padding-bottom: var(--ma-sho); }
.choshi-chu > * { padding-top: var(--ma-chu);padding-bottom: var(--ma-chu); }
.choshi-dai > * { padding-top: var(--ma-dai);padding-bottom: var(--ma-dai); }
.choshi-cho > * { padding-top: var(--ma-cho);padding-bottom: var(--ma-cho); }
/* single-element horizontal spacing */
.hashi, p.hashi {padding-left: calc(var(--ken) * 4);padding-right: calc(var(--ken) * 4);}
.hashi-wide, p.hashi-wide {padding-left: calc(var(--ken) * 8);padding-right: calc(var(--ken) * 8);}

/****** Containment ******/
.kabe {contain:layout paint;}
.kabe-size {contain:size;}
.kabe-content {content-visibility:auto;}
.nobasu {width: auto;overflow-x: auto;}

/****** Container ******/
.kakoi-naka {margin: 0 auto;}
.kakoi-migi {margin: 0 0 0 auto;}
.kakoi-hidari {margin: 0 auto 0 0;}
.kakoi-moto {max-width: var(--width-moto);}
.kakoi-sho {max-width: var(--width-sho);}
.kakoi-chu {max-width: var(--width-chu);}
.kakoi-dai {max-width: var(--width-dai);}
.kakoi-cho {max-width: var(--width-cho);}
.kakoi-sink-migi {float: left;margin: calc(var(--ken) * 2) calc(var(--ken) * 4) calc(var(--ken) * 2) 0;max-width: 45%;}
.kakoi-sink-hidari {float: right;margin: calc(var(--ken) * 2) 0 calc(var(--ken) * 2) calc(var(--ken) * 4);max-width: 45%;}
/*** Content Bleed Container ***/
.kakoi-bleed {width: 100vw;max-width: none;margin-left: min(calc((100vw - var(--kakoi-bleed-width, var(--width-do))) / -2 - var(--site-gutter)), calc(-1 * var(--site-gutter)));}
.do {--kakoi-bleed-width: var(--width-do);}
.kakoi-naka.kakoi-moto {--kakoi-bleed-width: var(--width-moto);}
.kakoi-naka.kakoi-sho {--kakoi-bleed-width: var(--width-sho);}
.kakoi-naka.kakoi-chu {--kakoi-bleed-width: var(--width-chu);}
.kakoi-naka.kakoi-dai {--kakoi-bleed-width: var(--width-dai);}
.kakoi-naka.kakoi-cho {--kakoi-bleed-width: var(--width-cho);}
.hasami {--kakoi-bleed-width: var(--width-do-hasami);}

/****** Clearing ******/
.yaiba {clear: both;}
.yaiba-left{clear: left;}
.yaiba-right {clear: right;}

/****** Accessibility ******/
.accessible {position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;border: 0;overflow: hidden;white-space: nowrap;clip-path: inset(50%);}
.break-word {overflow-wrap: break-word;} 
.no-wrap {white-space: nowrap;}
.overflow-wrap {overflow-wrap:anywhere}
.no-break {word-break: keep-all;}
.skip-link {position: absolute;top: 0;left: 0;transform: translateY(-120%);padding: var(--ken) calc(var(--ken) * 2);background: #000;color: #fff;text-decoration: none;font-weight: var(--weight-strong);z-index: var(--z-max);transition: transform .2s ease;}
.skip-link:hover {color: #eee;}
.skip-link:focus,.skip-link:focus-visible {transform: translateY(0);outline: var(--focus-ring-width) solid var(--color-focus);outline-offset: var(--focus-ring-offset);}

/****** Layer ******/
.kasane {position:relative;isolation: isolate;aspect-ratio: var(--kasane-sugata, auto);}
.kasane-moto {z-index:var(--z-moto);}
.kasane-sho {z-index:var(--z-sho);}
.kasane-chu {z-index:var(--z-chu);}
.kasane-dai {z-index:var(--z-dai);}
.kasane-cho {z-index:var(--z-cho);}
.kasane-ratio {
	aspect-ratio: var(--media-ratio);
}
.kasane-base {position:absolute;z-index:0;width:100%;height:100%;top:0;left:0;pointer-events:none;}
.kasane-veil {position:absolute;z-index:10;width:100%;height:100%;top:0;left:0;pointer-events:none;}
.kasane-modal {position:absolute;z-index:100;}
.kasane-background {box-decoration-break: clone;-webkit-box-decoration-break: clone;}

/****** Image Background Layer ******/
.ji {width: 100%;height: 100%;position: absolute;inset: 0;pointer-events: none;z-index:var(--z-moto);}
.ji.ji-sho {z-index:var(--z-sho);}
.ji img {width: 100%;height: 100%;object-fit: cover;object-position: center center;}
.ji.top-center img {object-position: top center;}
.ji.center-right img {object-position: center right;}
.ji.contain img {object-fit:contain;}

/*** Motion / Nagare ***/
.nagare {transition-duration:var(--nagare);}
.nagare.fast {transition-duration:var(--nagare-fast);}
.nagare.slow {transition-duration:var(--nagare-slow);}
.nagare.soft {transition-timing-function:var(--ease-soft);}
.nagare.smooth {transition-timing-function:var(--ease-smooth);}
.nagare.snap {transition-timing-function:var(--ease-snap);}
.nagare.opacity {transition-property:opacity;}
.nagare.transform {transition-property:transform;}
.nagare.color {transition-property:color, background-color, border-color;}
.nagare.shadow {transition-property:box-shadow;}
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
/****** Motion / Reveal ******/
.reveal {opacity:0;}
.reveal.up {transform:translateY(var(--reveal-distance));}
.reveal.down {transform:translateY(calc(var(--reveal-distance) * -1));}
.reveal.left {transform:translateX(var(--reveal-distance));}
.reveal.right {transform:translateX(calc(var(--reveal-distance) * -1));}
.reveal.opacity {transition:opacity .18s ease;}
.reveal.opacity:hover {opacity:1;}
.reveal.opacity:focus-within {opacity:1;}

/****** Motion / Interaction Utilities ******/
.is-visible {opacity:1;transform:none;}
/* Pointer */
.click-area {cursor:pointer;user-select:none;}
.click-through-area {pointer-events: none;}
/* Hover Motion */
.hover.lift {transition:transform .18s ease, box-shadow .18s ease;}
.hover.lift:hover {transform:translateY(var(--hover-lift));}
.hover.grow {transition:transform .18s ease;}
.hover.grow:hover {transform:scale(1.03);}
.hover.dim {transition:opacity .18s ease;}
.hover.dim:hover {opacity:.85;}
/* Press / Active */
.press.down {transition:transform .08s ease;}
.press.down:active {transform:translateY(var(--press-down));}
.press.scale {transition:transform .08s ease;}
.press.scale:active {transform:scale(var(--press-scale));}
/* Focus */
.focus.ring:focus-visible {outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);}
.focus.soft:focus-visible {outline:none;box-shadow:0 0 0 3px var(--color-shadow-focus);}
/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .hover.lift,.hover.grow,.hover.dim,.press.down,.press.scale,.reveal {transition:none;}
  .hover.lift:hover,.hover.grow:hover,.press.down:active,.press.scale:active {transform:none;}
}

/* =========================================================
   09. THEME/VARIANTS
   ========================================================= */
   
/****** Hr ******/
hr {margin: calc(var(--ken) * 2) auto calc(var(--ken) * 2) auto;border-bottom: var(--border-thin) solid var(--color-line-strong);clear: both;}
hr.v2 {border-bottom: var(--border-thin) solid var(--color-line);}
hr.v3 {border-bottom: var(--border-thin) solid var(--color-line-soft);}

/****** Web-Safe Font Overides ******/
.serif {font-family: var(--font-serif) !important;}
.sans-serif {font-family: var(--font-sans) !important;}

/* ==================================================================================================================
   RESPONSIVE (Tablet and Mobile)
   ================================================================================================================== */
@media only screen and (max-width : 959px) {

	/* === MAIN ARCHITECTURE (KUMI/KATA) === */
	/*** Main Kumi ***/
	.main {
		--size-h1: 32px;
		--line-h1: 36px;
		--size-h2: 28px;
		--line-h2: 30px;
	}
	.do {flex-direction: column;gap: 20px;}
	.hara,.tsubasa {width: 100%;margin: 0;}

/*** Hero Kumi ***/
#tokonoma {
	--tokonoma-core: 492px;
	--banner-h: 62px;
	--size-h2: 16px;
	--line-h2: 16px;
	--size-p: 14px;
	--line-p: 16px;
	--size-detail: 13px;
	--line-detail: 16px;
}
#tokonoma .pocket {padding: 6.62% 0px 19.78% 0px;}
.ji.tokonoma-art img {width:100%;object-position: center top;}
.tokonoma-text h1::before {width:55px;left:16px;}
#tokonoma:not(.moto) .tokonoma-text p {max-width:350px;}
.tokonoma-text p.details {padding:6px 0px 6px 0px;}
.tokonoma-text p.details::before {width:44px;bottom:6px;left:10px;}
.tokonoma-aside {width:300px;margin: 5.33vw -26.41vw auto;}
.tokonoma-aside h2 {padding:0px 0px 10px 0px;}
.tokonoma-aside h2::before {width:78px;height:10px;left:172px;}
.tokonoma-aside ul li {padding: 2px 0px 2px 8px;margin-left: calc(8px * var(--step, 1));}
.tokonoma-aside ul li::before {top: 8px;}

/*** Capabilities Kumi ***/
.builds-refinement .panel-1-pane {margin-left: 30px;}
.panel-1-hr.capability-hr {margin-left: 30px;}

/*** Reasons Kumi ***/
.reasons-module {
	--size-h2: 29px;
	--line-h2: 31px;
	--size-h3: 16px;
	--line-h3: 20px;
}

/*** Why Kumi ***/
.why p.wrap-up {padding:15px 0px 0px 0px;}

/*** Methods Kumi ***/
.methods-grid {width:95%;}
.col-wrap.methods-grid > .col-1-3:nth-child(-n+3) {flex:0 0 calc((90% - var(--col-gap) * 2) / 3);}

/*** Services Kumis ***/
.services-process-grid {width:95%;}
.col-wrap.services-process-grid > .col-1-3:nth-child(-n+3) {flex:0 0 calc((90% - var(--col-gap) * 2) / 3);}

/*** Contact Kumi ***/


}

/* ==================================================================================================================
   RESPONSIVE (Desktop Only)
   ================================================================================================================== */
@media only screen and (min-width : 960px) {
.no-desktop { display: none !important; } 

}

/* ==================================================================================================================
   RESPONSIVE (Thin Desktop)
   ================================================================================================================== */
@media only screen and (min-width : 960px) and (max-width : 1059px) {
.no-thin-desktop  { display: none !important; } 

}

/* ==================================================================================================================
   RESPONSIVE (Tablet Only)
   ================================================================================================================== */
@media only screen and (min-width : 640px) and (max-width : 959px) {
.no-tablet { display: none !important; } 
.flex.no-tablet-flex {display: block;}

}

/* ==================================================================================================================
   RESPONSIVE (Thin Tablet)
   ================================================================================================================== */
@media only screen and (min-width : 640px) and (max-width : 739px) {
.no-thin-tablet { display: none !important; } 


}

/* ==================================================================================================================
   RESPONSIVE (Mobile)
   ================================================================================================================== */
@media only screen and (max-width : 639px) {
.no-mobile { display: none !important; }

/* === MAIN ARCHITECTURE (KUMI/KATA) === */
/*** Main Kumi ***/
.main {
	--size-h1: 28px;
	--line-h1: 32px;
	--size-h2: 22px;
	--line-h2: 26px;
}

/*** Hero Kumi ***/
#tokonoma .pocket {padding: 10px 0px 20px 0px;}
.ji.tokonoma-art img {width:100%;object-position: center center;}
.tokonoma-text h1 {margin-bottom:13px;}
.tokonoma-text h1::before {width:50px;}
#tokonoma:not(.moto) .tokonoma-text p {margin-bottom:13px;}
.tokonoma-text p.details {margin-bottom:0px;max-width:291px;}
.tokonoma-text p.details::before {width:36px;left:10px;}
.tokonoma-aside {margin: 150px auto 30px 0px;float:none;}

/*** Navigation Kumi ***/
a.home {font-size:11px;margin-left: -15px;}
a.home strong {font-size:16px;}

/*** Capabilities Kumi ***/
.builds-refinement {border-left: none;}
.builds-refinement .panel-1-pane {margin-left: 0;}
.builds-refinement {font-size: var(--size-panel);line-height: var(--line-panel);}
.panel-1-hr.capability-hr {margin-left: 0px;}

/*** Reasons Kumi ***/
.why-it-works {margin-bottom:calc(var(--ken) * 4);}
.reason-1 {margin:0 6.66% 3.07% 0;}
.reason-2 {margin:0 3.33% 3.07% 3.33%;}
.reason-3 {margin:0 0px 3.07% 6.66%;}
.reason-4 {margin:0 6.66% 3.07% 0;}
.reason-5 {margin:0 3.33% 3.07% 3.33%;}
.reasons-module .button {margin-left: 6.66%;}

/*** Why Kumi ***/
.ji.why-folded-logic-art img {object-position: right center;}
.why {width:auto;max-width: 370px;margin:0 auto;}

/*** Methods Kumi ***/
.methods-grid {width:calc(100% + 20px);margin-left:-10px;padding-bottom: 40px;}
.col-wrap.methods-grid > .col-1-3:nth-child(n) {flex:0 0 calc((100% - var(--col-gap)) * 1/2);}
.col-wrap.methods-grid > .col-1-3:nth-child(2n) { margin-top: 30px;margin-bottom: -20px; }
.col-wrap.methods-grid > .col-1-3:nth-child(2n + 1) { margin-top: 0px;margin-bottom: 0px; }

/*** About Kumis ***/
.about-row-item-1 {margin-top: calc(var(--ken) * 4);}
.builder-row-item-1 {margin-bottom: calc(var(--ken) * 4);}

/*** Architecture Kumis ***/
.css-architecture-row-item-1 {margin-bottom: calc(var(--ken) * 4);}
.responsive-architecture-row-item-1 {margin-bottom: calc(var(--ken) * 4);}
.performance-maintainability-row-item-1 {margin-bottom: calc(var(--ken) * 4);}

/*** Service Kumis ***/
.custom-coded-builds-row-item-1 {margin-bottom: calc(var(--ken) * 4);}
.designer-handoffs-row-item-1 {margin-bottom: calc(var(--ken) * 4);}
.technical-rebuilds-row-item-1 {margin-bottom: calc(var(--ken) * 4);}
.responsive-services-row-item-1 {margin-bottom: calc(var(--ken) * 4);}
.services-process-grid {width:calc(100% + 20px);margin-left:-10px;padding-bottom: calc(var(--ken) * 4);}
.col-wrap.services-process-grid > .col-1-3:nth-child(n) {flex:0 0 calc((100% - var(--col-gap)) * 1/2);}
.col-wrap.services-process-grid > .col-1-3:nth-child(2n) { margin-top: 30px;margin-bottom: -20px; }
.col-wrap.services-process-grid > .col-1-3:nth-child(2n + 1) { margin-top: 0px;margin-bottom: 0px; }

/*** Architecture Kumis ***/
.rodriguez-demo-row-item-1 {margin-bottom: calc(var(--ken) * 4);}
.voicewithmegan-website-row-item-1 {margin-bottom: calc(var(--ken) * 4);}
.foldedlogic-website-row-item-1 {margin-bottom: calc(var(--ken) * 4);}

/*** Contact Page Kumi ***/
.contact-main-text {padding-bottom: calc(var(--ken) * 4);text-align:center;}
.contact-main-module ul {max-width:300px;margin:0 auto;}

/*** Contact Kumi ***/
.contact-text {padding-bottom: calc(var(--ken) * 4);text-align:center;}

/*** Footer Kumi ***/
.footer-columns {text-align:center;}
.company {padding-bottom: calc(var(--ken) * 2);}
p.tagline-footer {margin:0 auto;}
.sitemap ul li {padding: calc(var(--ken) * 2) 0px calc(var(--ken) * 2) 0px;}
.social {justify-content: center;padding-top:calc(var(--ken) * 4);}

/* === 04. LAYOUT ===================== */
.flex.no-mobile-flex {display: block;}

/* === 05. MEDIA ====================== */


/* === 06. COMPONENTS ================= */


/* === 07. FORMS ====================== */

/* === 08. UTILITIES ================== */
.awase-left.mobile-awase, .awase-right.mobile-awase {text-align: center;}
.kakoi-sink-migi.mobile-unfold {float: none;margin: calc(var(--ken) * 2) 0 calc(var(--ken) * 2) 0;max-width: none;}
.kakoi-sink-hidari.mobile-unfold {float: none;margin: calc(var(--ken) * 2) 0 calc(var(--ken) * 2) 0;max-width: none;}


}

/* ==================================================================================================================
   RESPONSIVE (Thin Mobile)
   ================================================================================================================== */
/*************** Thin Mobile ***************/
@media only screen and (max-width : 459px) {
.no-thin-mobile { display: none !important; }
.show-thin-mobile { display: block !important; }
.flex.no-thin-mobile-flex {display: block;} 





}

/* ==================================================================================================================
   PLUGINS
   ================================================================================================================== */
/*********** GLightbox (Open Source MIT License)  ***********/
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:var(--z-plugin);overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}
.glightbox-mobile .gprev {top: 45%;left:5px;width:20px;background-color: rgba(0,0,0,.32);}
.glightbox-mobile .gnext {top: 45%;right: 5px;width:20px;background-color: rgba(0,0,0,.32);}
.glightbox-mobile .gprev:hover {top: 45%;left:5px;background-color: rgba(0,0,0,.75);}
.glightbox-mobile .gnext:hover {top: 45%;right: 5px;background-color: rgba(0,0,0,.75);}

/*********** CSE  ***********/


/* ==================================================================================================================
   PRINT
   ================================================================================================================== */
@media only print {
.noprint{display:none !important;}
	a[href]:after {content:" (" attr(href) ")";font-size:90%;}
	#top-banner {display: none;}
}
