/* ==================================================================================================================
   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: 'Merriweather Sans';font-style: italic;font-weight: 300 800;font-display: swap;src: url(/assets/fonts/2-c79IRs1JiJN1FRAMjTN5zd9vgsFHXwcjrj9ytf.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Merriweather Sans';font-style: italic;font-weight: 300 800;font-display: swap;src: url(/assets/fonts/2-c79IRs1JiJN1FRAMjTN5zd9vgsFHXwcjjj9ytf.woff2) format('woff2');unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face {font-family: 'Merriweather Sans';font-style: italic;font-weight: 300 800;font-display: swap;src: url(/assets/fonts/2-c79IRs1JiJN1FRAMjTN5zd9vgsFHXwcjnj9ytf.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: 'Merriweather Sans';font-style: italic;font-weight: 300 800;font-display: swap;src: url(/assets/fonts/2-c79IRs1JiJN1FRAMjTN5zd9vgsFHXwcjfj9w.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: 'Merriweather Sans';font-style: normal;font-weight: 300 800;font-display: swap;src: url(/assets/fonts/2-c99IRs1JiJN1FRAMjTN5zd9vgsFHX4QjX78w.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Merriweather Sans';font-style: normal;font-weight: 300 800;font-display: swap;src: url(/assets/fonts/2-c99IRs1JiJN1FRAMjTN5zd9vgsFHX6QjX78w.woff2) format('woff2');unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face {font-family: 'Merriweather Sans';font-style: normal;font-weight: 300 800;font-display: swap;src: url(/assets/fonts/2-c99IRs1JiJN1FRAMjTN5zd9vgsFHX7QjX78w.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: 'Merriweather Sans';font-style: normal;font-weight: 300 800;font-display: swap;src: url(/assets/fonts/2-c99IRs1JiJN1FRAMjTN5zd9vgsFHX1QjU.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: 'Spectral';font-style: italic;font-weight: 400;font-display: swap;src: url(/assets/fonts/rnCt-xNNww_2s0amA9M8onfmTMuk.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Spectral';font-style: italic;font-weight: 400;font-display: swap;src: url(/assets/fonts/rnCt-xNNww_2s0amA9M8on7mTMuk.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Spectral';font-style: italic;font-weight: 400;font-display: swap;src: url(/assets/fonts/rnCt-xNNww_2s0amA9M8onTmTMuk.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: 'Spectral';font-style: italic;font-weight: 400;font-display: swap;src: url(/assets/fonts/rnCt-xNNww_2s0amA9M8onrmTA.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: 'Spectral';font-style: italic;font-weight: 700;font-display: swap;src: url(/assets/fonts/rnCu-xNNww_2s0amA9M8qsHDWfmFXUIJ.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Spectral';font-style: italic;font-weight: 700;font-display: swap;src: url(/assets/fonts/rnCu-xNNww_2s0amA9M8qsHDWfCFXUIJ.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Spectral';font-style: italic;font-weight: 700;font-display: swap;src: url(/assets/fonts/rnCu-xNNww_2s0amA9M8qsHDWfqFXUIJ.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: 'Spectral';font-style: italic;font-weight: 700;font-display: swap;src: url(/assets/fonts/rnCu-xNNww_2s0amA9M8qsHDWfSFXQ.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: 'Spectral';font-style: italic;font-weight: 800;font-display: swap;src: url(/assets/fonts/rnCu-xNNww_2s0amA9M8qt3AWfmFXUIJ.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Spectral';font-style: italic;font-weight: 800;font-display: swap;src: url(/assets/fonts/rnCu-xNNww_2s0amA9M8qt3AWfCFXUIJ.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Spectral';font-style: italic;font-weight: 800;font-display: swap;src: url(/assets/fonts/rnCu-xNNww_2s0amA9M8qt3AWfqFXUIJ.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: 'Spectral';font-style: italic;font-weight: 800;font-display: swap;src: url(/assets/fonts/rnCu-xNNww_2s0amA9M8qt3AWfSFXQ.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: 'Spectral';font-style: normal;font-weight: 400;font-display: swap;src: url(/assets/fonts/rnCr-xNNww_2s0amA9M0knj-SA.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Spectral';font-style: normal;font-weight: 400;font-display: swap;src: url(/assets/fonts/rnCr-xNNww_2s0amA9M9knj-SA.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Spectral';font-style: normal;font-weight: 400;font-display: swap;src: url(/assets/fonts/rnCr-xNNww_2s0amA9M3knj-SA.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: 'Spectral';font-style: normal;font-weight: 400;font-display: swap;src: url(/assets/fonts/rnCr-xNNww_2s0amA9M5kng.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: 'Spectral';font-style: normal;font-weight: 700;font-display: swap;src: url(/assets/fonts/rnCs-xNNww_2s0amA9uCt23MafadWQ.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Spectral';font-style: normal;font-weight: 700;font-display: swap;src: url(/assets/fonts/rnCs-xNNww_2s0amA9uCt23FafadWQ.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Spectral';font-style: normal;font-weight: 700;font-display: swap;src: url(/assets/fonts/rnCs-xNNww_2s0amA9uCt23PafadWQ.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: 'Spectral';font-style: normal;font-weight: 700;font-display: swap;src: url(/assets/fonts/rnCs-xNNww_2s0amA9uCt23BafY.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: 'Spectral';font-style: normal;font-weight: 800;font-display: swap;src: url(/assets/fonts/rnCs-xNNww_2s0amA9uetG3MafadWQ.woff2) format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Spectral';font-style: normal;font-weight: 800;font-display: swap;src: url(/assets/fonts/rnCs-xNNww_2s0amA9uetG3FafadWQ.woff2) format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Spectral';font-style: normal;font-weight: 800;font-display: swap;src: url(/assets/fonts/rnCs-xNNww_2s0amA9uetG3PafadWQ.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: 'Spectral';font-style: normal;font-weight: 800;font-display: swap;src: url(/assets/fonts/rnCs-xNNww_2s0amA9uetG3BafY.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: #ffffff;
	--color-page-soft: #fafafa;
	--color-page-muted: #efefef;
	--color-page-dark: #005683;
	--color-panel-dark: #005683;
	
	--color-ink: #1b1b1b;
	--color-ink-strong: #005683;
	--color-ink-soft: #121212;
	--color-ink-muted: #282828;
	--color-ink-faint: #444444;
	--color-ink-light: #636363;
	--color-ink-lighter: #757575;
	--color-ink-subtle: #969696;

	--color-h1: #002042;
	--color-h1-hover: #121212;
	--color-h2: #002042;
	--color-h2-hover: #121212;
	--color-h3: #00407A;
	--color-h3-hover: #121212;
	--color-h4: #007BC2;
	--color-h4-hover: #121212;
	--color-h5: #00407A;
	--color-h5-hover: #121212;
	--color-h6: #007BC2;
	--color-h6-hover: #121212;
	
	--color-blockquote: #282828;
	--color-blockquote-edge: #232323;
	--color-blockquote-panel: #efefef;
	
	--color-breadcrumb: #000000;
	--color-breadcrumb-hover: #232323;
	--color-breadcrumb-current: #757575;

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

	--color-inverse: #ffffff;
	--color-danger: #ea0000;
	
	--color-button: #000;
	--color-button-hover: #000;
	--color-button-border: #DB511A;
	--color-button-border-hover: #DB511A;
	
	--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: "Merriweather Sans", Arial, Helvetica, sans-serif;
	--font-display: "Spectral", "Times New Roman", Times, serif;
	--font-serif: "Times New Roman", Times, serif;
	--font-sans: Arial, Helvetica, sans-serif;

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

	--size-body: 21px;
	--line-body: 32px;

	--size-spotlight: 24px;
	--line-spotlight: 34px;

	--size-h1: 36px;
	--line-h1: 40px;
	--size-h2: 32px;
	--line-h2: 34px;
	--size-h3: 28px;
	--line-h3: 30px;
	--size-h4: 26px;
	--line-h4: 28px;
	--size-h5: 24px;
	--line-h5: 26px;
	--size-h6: 22px;
	--line-h6: 24px;
	
	--size-blockquote: 18px;
	--line-blockquote: 24px;
	
	--size-breadcrumb: 14px;
	--line-breadcrumb: 18px;
	
	--size-caption: 18px;
	--line-caption: 22px;
	--size-caption-title: 22px;
	--line-caption-title: 26px;
	--size-caption-detail: 13px;
	--line-caption-detail: 15px;

	--size-nav: 18px;
	--size-nav-drop: 14px;

	--size-button: 16px;
	--line-button: 22px;
	--padding-button-top: 7px;
	--padding-button-bottom: 8px;
	--padding-button-side: 40px;

	/*** 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;
	--grid-gap: 40px;

	/*** Width / Layout ***/
	--width-spine: 1600px;

	--width-do: 1600px;
	--width-do-hasami: 1200px;

	--width-moto: 500px;
	--width-sho: 700px;
	--width-chu: 900px;
	--width-dai: 1100px;
	--width-cho: 1300px;

	--width-hara: 65%;
	--width-tsubasa: 30%;
	--gap-tsubasa: 5%;

	--width-mobile-menu: 240px;
	--width-mobile-menu-inner: 220px;

	/*** Navigation ***/
	--banner-h: 100px;

	--nav-gap: 20px;
	--nav-link-line: 100px;

	--menu-icon-size: 30px;

	--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;


	/*** Components / Forms ***/
	--border-thin: 1px;
	--border-base: 2px;
	--border-strong: 4px;
	
	--color-form: #121212;
	--color-line-form: #ccc;
	--color-panel-form: #fff;
	--border-form: 2px;
	--radius-panel-form: 6px;
	--size-form: 16px;
	--size-form-label: 16px;
	--line-form-label: 20px;
	--weight-form: 400;

	--field-h: 30px;
	--field-h-lg: 40px;
	--field-pad-x: 10px;
	--field-pad-y: 10px;
	--field-textarea-h: 100px;
	--field-textarea-lg-h: 200px;

	/*** 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-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 : 1919px) {
	:root {--grid-gap: 2.08vw;}
}
@media only screen and (min-width : 960px) and (max-width : 1559px) {
	:root {--banner-h: 6.41vw;}
}
@media only screen and (min-width : 960px) and (max-width : 1159px) {
	:root {
		--size-button: 14px;
		--line-button: 18px;
		--padding-button-top: 6px;
		--padding-button-bottom: 7px;
		--padding-button-side: 30px;
	}
}
@media only screen and (max-width: 959px) {
	:root {
		--size-body: 18px;
		--line-body: 26px;

		--size-h1: 32px;
		--line-h1: 36px;
		--size-h2: 30px;
		--line-h2: 32px;
		--size-h3: 24px;
		--line-h3: 26px;
		--size-h4: 23px;
		--line-h4: 24px;
		--size-h5: 22px;
		--line-h5: 23px;
		--size-h6: 21px;
		--line-h6: 22px;
		--size-blockquote: 16px;
		--line-blockquote: 20px;
		--size-caption: 16px;
		--line-caption: 20px;
		--size-caption-title: 20px;
		--line-caption-title: 24px;
		--size-button: 14px;
		--line-button: 18px;
		--padding-button-top: 6px;
		--padding-button-bottom: 7px;
		--padding-button-side: 30px;
	
		--size-spotlight: 20px;
		--line-spotlight: 28px;
		--grid-gap: 20px;
		--banner-h: 62px;
		--nav-link-line: 62px;
		--ken: 8px;
	}
}

@media only screen and (max-width: 639px) {
	:root {
		--size-body: 16px;
		--line-body: 22px;

		--size-h1: 28px;
		--line-h1: 32px;
		--size-h2: 26px;
		--line-h2: 28px;
		--size-h3: 22px;
		--line-h3: 24px;
		--size-h4: 21px;
		--line-h4: 23px;
		--size-h5: 20px;
		--line-h5: 22px;
		--size-h6: 18px;
		--line-h6: 20px;
		--size-blockquote: 14px;
		--line-blockquote: 18px;
		--size-caption: 14px;
		--line-caption: 18px;
		--size-caption-title: 18px;
		--line-caption-title: 22px;
		--size-button: 13px;
		--line-button: 16px;
		--padding-button-top: 5px;
		--padding-button-bottom: 6px;
		--padding-button-side: 20px;
		--size-spotlight: 18px;
		--line-spotlight: 24px;
		--nav-gap: 0px;
		--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: calc(var(--ken) * 2) 0px calc(var(--ken) * 2) 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: calc(var(--ken) * 2) 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: calc(var(--ken) * 2) 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: calc(var(--ken) * 2) 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: calc(var(--ken) * 2) 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: calc(var(--ken) * 2) 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 {margin: calc(var(--ken) * 4) 0;padding: calc(var(--ken) * 1.5) 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);}
blockquote p {padding: 0;}
blockquote p + p {margin-top: calc(var(--ken) * 1.5);}

/****** Lead-In Paragraph ******/
.spotlight {font-size: var(--size-spotlight);line-height: var(--line-spotlight);}
.initial-cap::first-letter {float: left;font-size: 50px;line-height: 1px;padding-right: 5px;font-weight: 700;}
.initial-cap.drop::first-letter {margin-top: 8px;}
.spotlight.initial-cap.drop::first-letter {margin-top:10px;}
.initial-cap.raise {margin-top: 20px;}
.initial-cap.raise::first-letter {margin-top: -13px;}
.spotlight.initial-cap.raise::first-letter {margin-top: -11px;}


/* =========================================================
   03. MAIN ARCHITECTURE (KATA/KUMI)
   ========================================================= */
   
/* ================================
  03.1 Kata (structural primitives)
   ================================ */
   
/********* Main Kata *********/
.face {position:relative;}
.spine {max-width:var(--width-spine);margin:0 auto;padding:0 var(--site-gutter);position:relative;z-index:var(--z-cho);}
.pocket {padding:4% 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 {background: var(--color-page);}
.main.light {background: var(--color-page-muted);}
.main.dark {background: var(--color-page-dark);}
.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:#ffffff;
	/*** Color ***/
	--color-panel-dark: #ffffff;
	
	--color-ink: #ffffff;
	--color-ink-strong: #ffffff;
	--color-ink-soft: #efefef;
	--color-ink-muted: #eeeeee;
	--color-ink-faint: #fefefe;
	--color-ink-light: #dddddd;
	--color-ink-lighter: #cccccc;
	--color-ink-subtle: #bbbbbb;
	
	--color-inverse: #000000;
	
	--color-h1: #ffffff;
	--color-h1-hover: #fafafa;
	--color-h2: #ffffff;
	--color-h2-hover: #fafafa;
	--color-h3: #ffffff;
	--color-h3-hover: #fafafa;
	--color-h4: #ffffff;
	--color-h4-hover: #fafafa;
	--color-h5: #ffffff;
	--color-h5-hover: #fafafa;
	--color-h6: #ffffff;
	--color-h6-hover: #fafafa;
	
	--color-blockquote: #d9d9d9;
	--color-blockquote-edge: #d9d9d9;
	--color-blockquote-panel: #101010;

	--color-breadcrumb: #ffffff;
	--color-breadcrumb-hover: #dedede;
	--color-breadcrumb-current: #cccccc;
	
	--color-line: #cacaca;
	--color-line-soft: #757575;
	--color-line-strong: #ffffff;

	--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;
}


/********************* Hero Kumi (Tokonoma) *********************/
/********* Tokonoma Cho *********/
#tokonoma.face {padding-top: var(--banner-h);background: #050815;}
#tokonoma .spine {max-width: 1680px;}
#tokonoma .pocket {padding: calc(var(--ken) * 8) 0px calc(var(--ken) * 8) 0px;}
/********* Tokonoma Moto *********/
#tokonoma.moto.face {background: #050815;}
#tokonoma.moto .spine {}
#tokonoma.moto .pocket {padding: calc(var(--ken) * 8) 0px calc(var(--ken) * 8) 0px;}
#tokonoma.moto .tokonoma-text {text-align:center;}

/********* Hero Kumi Shared *********/
.tokonoma-kasane {background:#002042;opacity:.9;}
.tokonoma-text h1 {line-height:70px;font-size: 66px;color: #ffffff;padding: 0px 0px 2% 0px;min-height:210px;display: flex;flex-direction: column;justify-content: flex-end; }
#tokonoma.moto .tokonoma-text h1 {min-height:0px;}
.tokonoma-text h1 a, .tokonoma-text h1 a:hover {color: #ffffff;} 
.tokonoma-text h2 {line-height:34px;font-size: 30px;color: #ffffff;padding: 0px 0px 2% 0px;font-weight:700;min-height:0;display:block;font-family: var(--font-body);}
.tokonoma-text h2 a, .tokonoma-text h2 a:hover {color: #ffffff;} 
.tokonoma-text p {line-height:22px;font-size: 18px;color: #ffffff;padding: 11px 0px 11px 0px;max-width: var(--width-sho);}
#tokonoma.moto .tokonoma-text p {margin:0 auto;max-width: var(--width-chu);}
.tokonoma-text p a, .tokonoma-text p a:hover {color: #ffffff;font-weight:400;} 
.tokonoma-text .button {margin-top: calc(var(--ken) * 2);}
.tokonoma-portrait {}
picture.portrait {position:absolute; left:0;right:0;bottom:calc(var(--ken) * -16); margin: 0px auto;}
@media only screen and (min-width : 960px) and (max-width : 1679px) {
.tokonoma-text h1 {line-height:4.16vw;font-size: 3.92vw;min-height:12.50vw;}
.tokonoma-text h2 {line-height:2.02vw;font-size: 1.78vw;}

}

/********************* Navigation Kumi *********************/
/****** Top Banner *******/
@media only screen and (min-width : 960px) and (max-width : 1559px) {:root {--banner-h: 6.41vw;--nav-link-line: 6.41vw;}}
#top-banner {width: 100%;position: absolute;top: 0;left: 0;z-index: var(--z-banner);min-width: 320px;background:#fff;}
#top-banner-panel  {max-width: 1920px;margin: 0 auto;padding: 0 var(--site-gutter);display: flex;align-items: center;gap: var(--nav-gap);min-height: var(--banner-h);}
a.home {height: var(--banner-h);padding: 0px 0px 0px 110px;font-size: 32px;line-height:var(--banner-h);color:#025A8D;font-weight:var(--weight-strong);display: inline-block;background: url("../images/logo.png") no-repeat left center;background-size: 80px auto;text-decoration: none;letter-spacing:1px;font-family: var(--font-display);}
a.home strong {color:#005A82;font-weight:var(--weight-heavy);display: inline-block;}
a.call {margin: 0 0 0 auto;white-space: nowrap;}
#menu-icon {width: var(--menu-icon-size);height: var(--menu-icon-size);display: block;white-space: nowrap;background: url("../images/menuicon-dark.png") no-repeat center center;background-size: contain;text-decoration: none;cursor: pointer;}
/****** Navigation Menu *******/
ul#main-nav {margin: 0;padding: 0;list-style: none;display: flex;justify-content: right;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-ink-strong);}
ul#main-nav li > a {display: inline-block;padding: 0 18px;line-height: var(--nav-link-line);color: #005683;text-decoration: none;}
ul#main-nav li:hover > a {color: #0293D8;}
ul#main-nav a:focus-visible {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(--color-page);z-index: var(--z-dropdown);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);font-size: var(--size-nav-drop);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-weight: var(--weight-body);color: var(--color-ink-light);text-decoration: none;}
ul#main-nav li ul li:hover > a {color: #969696;}
/*** 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: 200px;background: #fcfcfc;}
/*** Fourth-Level Dropdown ***/
ul#main-nav li ul li ul li ul {position: absolute;top: 0;left: 100%;display: none;padding: 10px;width: 200px;background: #ffffff;}
/*** 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;}
#top-banner.fixed-show {top: 0;transition:.25s;background: #ffffff;box-shadow:0px 0px 2px 1px rgba(0,0,0,.04);}

@media only screen and (min-width : 960px) and (max-width : 1559px) {
a.home {padding: 0vw 0vw 0vw 7.05vw;font-size: 2.05vw;background-size: 5.12vw auto;}
}
@media only screen and (min-width : 960px) and (max-width : 1299px) {
	ul#main-nav li {font-size: 16px;}
	ul#main-nav li > a {padding: 0 12px;}
}
@media only screen and (min-width : 960px) and (max-width : 1099px) {
	ul#main-nav li {font-size: 14px;}
	ul#main-nav li > a {padding: 0 8px;}
}

/********************* Education Matters *********************/
#education-matters {background:#efefef;}
#education-matters .pocket {padding:calc(var(--ken) * 4) 0 calc(var(--ken) * 4) 0;}
.education-matters-text {align-items:center;}
.education-stats {position:relative;}
.stats {position:relative;}
.stat {flex:0 0 calc((100% - var(--col-gap)) * 1/2) !important;}
.education-stat {padding: 20px 20px 20px 20px;margin:0px 10px 0px 10px;color:#ffffff;text-align:center;background:#002042;border-radius:10px;box-shadow:0px 0px 1px 1px rgba(0,0,0,.2);}
.education-stat p {padding: 5px 0px;font-size: 21px;line-height:24px;}
.education-stat p .title {padding-bottom:15px;font-size: 50px;line-height:54px;color:#FEBA3F;display:inline-block;font-family: var(--font-display);font-weight:var(--weight-heavy);letter-spacing:2px;font-style: italic;}
.education-text {padding:40px 0px 40px 0px;color:#000000;}
.education-text h2 {padding: 0px 0px 20px 0px;font-size: 50px;line-height:54px;color:#002042;}
.education-text p {padding: 13px 0px;font-size: 21px;line-height:32px;}
.education-text .button {margin-top: calc(var(--ken) * 2);}

@media only screen and (min-width : 960px) and (max-width : 1639px) {
.education-stat {padding: 1.21vw 1.21vw 1.21vw 1.21vw;}
.education-stat p {padding: 0.30vw 0vw;font-size: 1.28vw;line-height:1.46vw;}
.education-stat p .title {padding-bottom:0.91vw;font-size: 3.04vw;line-height:3.29vw;letter-spacing:0.12vw;}
.education-text {padding:2.43vw 0vw 2.43vw 0vw;}
.education-text h2 {padding: 0vw 0vw 1.21vw 0vw;font-size: 3.04vw;line-height:3.29vw;}
.education-text p {padding: 0.79vw 0vw;font-size: 1.28vw;line-height:1.95vw;}
}



/********************* Milestones *********************/
.milestones .spine {max-width:var(--width-cho);}
.milestones .pocket {padding:calc(var(--ken) * 8) 0 calc(var(--ken) * 8) 0;}
.milestones-text {text-align: center;}
.milestones-text h2 {padding:0px 0 20px 0px;font-size: 40px;line-height:44px;color:#002042;}
.milestones-text p {max-width: 900px;padding: 13px 0px;margin:0 auto;font-size: 21px;line-height:32px;}
.milestones-items {padding:calc(var(--ken) * 4) 0 0 0;}
.milestone-text.center {text-align: center;}
.milestone-text.center .icon {margin: 0 auto;}
.milestone-text h3 {padding:20px 20px 5px 90px;font-size: 28px;line-height:32px;color:#002042;}
.milestone-text p {padding:10px 20px 5px 90px;font-size: 21px;line-height:28px;}
.milestone-text.center h3, .milestone-text.center p {padding-left:0px;padding-right:0;}
.milestone-text .icon-bar {position:relative;}
.milestone-text .bar {width:calc(100% - 10px); height: 30px;position:absolute;z-index: var(--z-dai);top:0;bottom:0;margin:auto 0 auto 10px;background: #FD9B26;border: var(--border-base) solid #DB511A;border-radius:15px;}
.milestone-text .icon {width: 80px; height:80px;border-radius:40px;position:relative;z-index: var(--z-cho);background-color: #FD9B26;background-repeat:no-repeat;background-position:center center;background-size: 50px auto;border: var(--border-base) solid #DB511A;}
.milestone-text .icon#achievement {background-image: url("../images/achievement.png");}
.milestone-text .icon#success {background-image: url("../images/success.png");}
.milestone-text .icon#trio {background-image: url("../images/trio.png");}
.milestone-text .icon#climbing {background-image: url("../images/climbing.png");}
.milestone-text .icon#share {background-image: url("../images/share.png");}
.milestone-text .icon#speak {background-image: url("../images/speak.png");}
.milestone-text .icon#advocate {background-image: url("../images/advocate.png");}
.milestone-text .icon#feel-seen {background-image: url("../images/feel-seen.png");}
.milestone-text .icon#feel-empowered {background-image: url("../images/feel-empowered.png");}
.milestone-text .icon#invest {background-image: url("../images/invest.png");}
.milestone-text .icon#leaders {background-image: url("../images/leaders.png");}
.milestone-text .icon#partners {background-image: url("../images/partners.png");}
.milestone-text .icon#practitioners {background-image: url("../images/practitioners.png");}

@media only screen and (min-width : 960px) and (max-width : 1339px) {
.milestones-text h2 {padding:0vw 0 1.49vw 0vw;font-size: 2.98vw;line-height:3.28vw;}
.milestones-text p {padding: 0.97vw 0vw;font-size: 1.56vw;line-height:2.38vw;}
.milestone-text h3 {padding:1.48vw 20px 0.37vw 6.71vw;font-size: 2.08vw;line-height:2.38vw;}
.milestone-text p {padding:0.74vw 20px 0.37vw 6.71vw;font-size: 1.56vw;line-height:2.08vw;}
.milestone-text .icon {width: 5.97vw; height:5.97vw;border-radius:2.98vw;background-size: 3.73vw auto;}
.milestone-text .bar {height: 2.23vw;border-radius:1.11vw;}
}

/********************* Tsubasa Contact Kumi *********************/
.contact-us {background:#121212;color:#ffffff;padding: 4.27% 8.54% 4.27% 8.54%;margin: 40px 0px 40px 0px;text-align:center;}
.contact-us-text h2 {padding: 0px 0px 5px 0px;line-height:28px;font-size: 26px;color: #ffffff;font-weight:700;}
.contact-us-text h2 a, .contact-us h2 a:hover {color: #ffffff;}
.contact-us-text p {line-height:22px;font-size: 20px;padding: 10px 0px 20px 0px;}
.contact-us-text p a, .contact-us p a:hover {color: #ffffff;}

/*********************  Mobile Tsubasa Kumi *********************/
#viewport {position: relative;width: 100%;overflow-x: hidden;}
body.menu-open #viewport {position: fixed;}
#side-menu {position: fixed;top: 0;left: 0px;width: var(--width-mobile-menu);height: 100%;font-size: var(--size-nav-drop);background: rgba(0,86,131,.96);z-index: var(--z-menu);overflow: hidden;box-shadow: inset -10px 0 5px -5px var(--color-shadow-mid);padding-top: 5px;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;padding-right: 20px;}
#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 ul {list-style: none;padding: 10px 0 20px var(--site-gutter);width: var(--width-mobile-menu-inner);}
#side-menu li {border-bottom: var(--border-thin) solid #fff;}
#side-menu li.no-border {border: none;}
#side-menu a {display: block;padding: 10px 0;line-height: 18px;color: #fff;text-decoration: none;}
#side-menu a:hover,#side-menu a:focus {color: #fff;}
#side-menu ul ul {display: none;padding: 0px 20px 10px 10px;font-size: 14px;}
#side-menu li.open > ul {display:block;}
#side-menu ul ul li {border: none;}
#side-menu ul ul a {padding: 5px 0;line-height: 18px;}
#side-menu li > a span {padding-right: 15px;background: url("../images/arrow-menu-drop.png") no-repeat right center;}
#side-menu #close-menu {position: absolute;top: 6px;right: 8px;width: 20px;height: 20px;display: block;border-radius: 10px;color:#000000;background: #dedede url("../images/close.png") no-repeat center center;}
#side-menu .search {margin: 15px 0 10px 0;width: 100%;}

.logo-mobile {height: calc(var(--banner-h) - 9px);display: block;max-width: var(--width-mobile-menu-inner);margin: 10px 0 0 var(--site-gutter);padding: 9px 0px 0px 62px;font-size:16px;line-height:20px;color:#fff;font-weight:var(--weight-strong);display: inline-block;background: url("../images/logo-white.png") no-repeat left 15px center;background-size:39px auto;text-decoration: none;letter-spacing:1px;font-family: var(--font-display);}
.logo-mobile strong {color:#fff;font-weight:var(--weight-heavy);display: inline-block;}

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

/****** Base Columns ******/
.col-wrap {--col-gap: 4.16%;display: flex;flex-wrap: wrap;gap: var(--col-gap);align-items: stretch;}
.col-wrap.none { --col-gap: 0; }
.col-wrap.tight { --col-gap: 2.08%; }
.col-wrap.loose { --col-gap: 6.24%; }
.col-wrap.slack { --col-gap: 8.32%; }
.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);}
.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);}
.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);}

/****** Grid ******/
.gallery-grid {display:grid;gap: var(--grid-gap);grid-auto-rows: max-content;align-items: start;}
.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; }
.cols-2{ grid-template-columns:repeat(2,1fr); }
.cols-3{ grid-template-columns:repeat(3,1fr); }
.cols-4{ grid-template-columns:repeat(4,1fr); }
.cols-5{ grid-template-columns:repeat(5,1fr); }
.gallery-grid-element {align-self:flex-start;}
.gallery-grid-element.vamid {align-self: center;}
.gallery-grid-element.vabot {align-self:flex-end;}
.gallery-grid.auto {grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.gallery-grid.auto.grand {grid-template-columns:repeat(auto-fit,minmax(320px,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;}

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

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

/****** Image ******/
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 {padding:0;}
figure a.figure {display:block;}
figure .img {width:100%;overflow:hidden;position:relative;}
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 {width:100%;position:relative;z-index:50;}
figure .img img {width:100%;height:100%;object-fit:cover;}
figcaption {padding:var(--ken) 0 0 0;font-size:var(--size-caption);line-height:var(--line-caption);color:var(--color-ink-muted);}
figcaption p {padding:0;margin:0;}
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-ink-strong);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-ink-lighter);font-weight:var(--weight-body);}
figure .img span.show-video {position: absolute;inset: 0;z-index: 100;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;}
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:45.88%;margin: calc(var(--ken) * 4) -53.84% 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) -53.84% calc(var(--ken) * 4) calc(var(--ken) * 4);}
figure.full.max {width: 153.84%;}
/*** side by side ***/
figure.sbs {padding:calc(var(--ken) * 2) 0;margin:calc(var(--ken) * 4) auto;font-weight:700;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 ***/
figure.frame {margin:calc(var(--ken) * 4) 0;}
.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;margin: calc(var(--ken) * 4) auto;}
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;font-weight: 400;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 {margin: calc(var(--ken) * 2) 0 calc(var(--ken) * 4) 0;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: 0px;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: 400;}
.breadcrumbs li:not(:last-child)::after {content: "›";margin: 0 var(--ken) 0px var(--ken);}
.breadcrumbs a:hover,.breadcrumbs a:focus-visible {color: var(--color-breadcrumb-hover);text-decoration: underline;}
.breadcrumbs [aria-current="page"] {color: var(--color-breadcrumb-current);text-decoration: none;cursor: default;}

/****** Styled Lists ******/
/*** Unordered ***/
ul.bullet {padding: 0;margin: 0;list-style: none;}
ul.bullet li {position: relative;padding: var(--ken) 0px var(--ken) calc(var(--ken) * 2);}
ul.bullet li::before {content: "";position: absolute;width: var(--ken);height: var(--ken);background: #FD9B26;left: 0;top: calc(var(--ken) * 2.3);}
/*** 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: #FD9B26;color: #000000;text-align: center;line-height:calc((var(--ken) * 2) + 5px);font-size:var(--size-caption-detail);font-weight:800;font-family: var(--font-display);}

/****** Button ******/
.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);background: #F95D20;background: linear-gradient(0deg,rgba(249, 93, 32, 1) 0%, rgba(253, 150, 34, 1) 50%, rgba(254, 185, 60, 1) 100%);text-decoration:none;font-weight:600;display:inline-block;border:var(--border-base) solid var(--color-button-border);border-radius:calc(var(--line-button) / 2);cursor:pointer;transition:background .2s, color .2s, border-color .2s;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,.button:focus {color:var(--color-button-hover);background: linear-gradient(0deg,rgba(249, 93, 32, 1) 0%, rgba(253, 150, 34, 1) 70%, rgba(254, 185, 60, 1) 100%);border:var(--border-base) solid var(--color-button-border-hover);text-decoration:none;}
.button:focus-visible {outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);}
.external {padding-right:15px;}
.button .external {padding-right:25px;}
/* =========================================================
   07. FORMS
   ========================================================= */

/****** Core Inputs ******/
legend {display: block;width:100%;padding-top: calc(var(--ken) * 2);font-size: 16px;line-height:20px;font-weight: var(--weight-strong);}
label {display: block;font-size: var(--size-form-label);line-height:var(--line-form-label);font-weight: var(--weight-strong);padding-top: var(--ken);margin: 0;}
input,textarea,select {width: calc(100% - var(--field-pad-x) - 4px);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: content-box;}
input { height: var(--field-h); }
textarea {padding-top: var(--field-pad-y);height: var(--field-textarea-h);width: calc(100% - var(--field-pad-x) - 6px)}
select {height: calc(var(--field-h) - 4px);width: calc(100% - var(--field-pad-x) - 8px);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:5px 0 20px 0;line-height: 22px;}
.alert {color:var(--color-danger);}
.form-error {position: absolute;top: var(--ken);right: 10px;z-index: 20;display: none;line-height: 12px;font-size: 12px;font-weight: 700;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: var(--ken);top: 2px;left:0;margin:0 auto;}
.form-privacy .form-error {top: calc(var(--ken) * -1);left:0;right:0;margin:0 auto;}
/****** Form Ajax ******/
.form_process {display:none;position: absolute;inset: -20px;z-index: 999999;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;}

/****** Form Custom Elements ******/
#contact-form_a {position:relative;}
input.forma {height: 40px;margin-bottom: var(--ken);background: #F5F0ED;border: var(--border-form) solid #2C2B29;border-radius: 5px;}
textarea.forma {height: 130px;margin-bottom: var(--ken);background: #F5F0ED;border: var(--border-form) solid #2C2B29;border-radius: 5px;}
select.forma {height: 38px;margin-bottom: var(--ken);background: #F5F0ED;border: var(--border-form) solid #2C2B29;border-radius: 5px;}

#contact-form_b {position:relative;}
input.formb {height: 30px;margin-bottom: 15px;background: #ffffff;border: var(--border-base) solid #ffffff;border-radius: 0;}
textarea.formb {height: 200px;margin-bottom: 15px;background: #ffffff;border: var(--border-base) solid #ffffff;border-radius: 0;}

#contact-form_c {position:relative;}
.contact-method {max-width: 280px;margin:0 auto;}
#contact-form_c .form-privacy {margin-top:calc(var(--ken) * 2);}
#contact-form_c *:not(.anti-spam):not(.form-privacy) > .form-error {top: auto;bottom: 10px;}


/* =========================================================
   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);}
.ma-moto-sink {margin-top: var(--ma-moto);margin-bottom: var(--ma-moto);}
.ma-sho-sink {margin-top: var(--ma-sho);margin-bottom: var(--ma-sho);}
.ma-chu-sink {margin-top: var(--ma-chu);margin-bottom: var(--ma-chu);}
.ma-dai-sink {margin-top: var(--ma-dai);margin-bottom: var(--ma-dai);}
.ma-cho-sink {margin-top: var(--ma-cho);margin-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) * 4) 0;max-width: 45%;}
.kakoi-sink-hidari {float: right;margin: calc(var(--ken) * 2) 0 calc(var(--ken) * 4) 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: 700;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;}
.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-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) {.nagare.fast, .nagare, .nagare.slow {transition-duration:0.01ms;}}

/****** 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 {cursor: 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) * 4) auto calc(var(--ken) * 4) 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 Overrides ******/
.serif {font-family: var(--font-serif) !important;}
.sans-serif {font-family: var(--font-sans) !important;}

/****** Custom Gallery ******/
.gallery-1 {padding-bottom:20px;overflow:hidden;}
.gallery-1 .img {border:var(--border-thin) solid var(--color-line-soft);border-radius: 10px;}
.gallery-1 p {padding:0px 20px;}
.gallery-1 .button {margin: calc(var(--ken) * 2) 0 0 20px;}

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

/* === 02. TYPOGRAPHY ================== */
.initial-cap::first-letter {font-size: 40px;}
.initial-cap.drop::first-letter {margin-top: 8px;}
.spotlight.initial-cap.drop::first-letter {margin-top: 10px;}
.initial-cap.raise::first-letter {margin-top: -10px;}
.spotlight.initial-cap.raise::first-letter {margin-top: -8px;}


/* === 03. MAIN ARCHITECTURE (KUMI/KATA) === */
/*** Main Kumi ***/
.do {flex-direction: column;gap: 20px;}
.hara,.tsubasa {width: 100%;margin: 0;}

/*** Hero Kumi ***/
#tokonoma .pocket {padding: calc(var(--ken) * 8) 0px calc(var(--ken) * 4) 0px;}
#tokonoma.moto .pocket {padding: calc(var(--ken) * 6) 0px calc(var(--ken) * 6) 0px;}
.tokonoma-text h1 {line-height:38px;font-size:34px;min-height:114px;}
.tokonoma-text h2 {line-height:18px;font-size:16px;}
.tokonoma-text p {line-height:18px;font-size: 14px;}
picture.portrait {bottom:auto; top:0;}
picture.portrait {position:relative;}
/*** Navigation Kumi ***/
a.home {padding:0px 0px 0px 67px;font-size:19px;background-size:49px auto;}

/*** Education Matters ***/
.education-stats {padding-bottom: calc(var(--ken) * 4);}
.stats {flex:0 0 100%;}
.stats-cols {--col-gap: 0;}
.stats-cols .col-1-2 {width:50%;}
.education-matters-text {align-items:stretch;}
.education-art {width: 100%;height: 100%;position: absolute;inset: 0;pointer-events: none;}
.education-art img {width: 100%;height: 100%;object-fit: cover;object-position: center center;}
.education-stat {padding:10px 10px 10px 10px;}
.education-stat p {padding:2px 0px;font-size:14px;line-height:16px;}
.education-stat p .title {padding-bottom:8px;font-size:28px;line-height:32px;letter-spacing:1px;}
.education-text {padding:20px 0px 20px 0px;}
.education-text h2 {padding:0px 0px 3px 0px;font-size:28px;line-height:32px;}
.education-text p {padding:3px 0px;font-size:14px;line-height:18px;}

/*** Milestones ***/
.milestones-text h2 {padding:0px 0 14px 0px;font-size:28px;line-height:32px;}
.milestones-text p {padding:9px 0px;font-size:16px;line-height:22px;}
.milestone-text h3 {padding:14px 20px 3px 64px;font-size:18px;line-height:22px;}
.milestone-text p {padding:7px 20px 3px 64px;font-size:14px;line-height:16px;}
.milestone-text .icon {width:56px;height:56px;border-radius:28px;background-size:35px auto;}
.milestone-text .bar {height:20px;border-radius:10px;}

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

/* === 05. MEDIA ====================== */
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%;}

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


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

/* === 08. UTILITIES ================== */

/* === 09. THEME/VARIANTS ============= */

}

/* ==================================================================================================================
   RESPONSIVE (Desktop Only)
   ================================================================================================================== */
@media only screen and (min-width : 960px) {
/* default reactive CSS for PC */
.no-desktop { display: none !important; } 
.reversed.no-desktop-reverse {flex-direction:row;}
}

/* ==================================================================================================================
   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) {
/* default reactive CSS for Tablet */
.no-tablet { display: none !important; } 
.flex.no-tablet-flex {display: block;}
.reversed.no-tablet-reverse {flex-direction:row;}

}

/* ==================================================================================================================
   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) {
/* === 01. FOUNDATION ================== */
.no-mobile { display: none !important; }

/* === 02. TYPOGRAPHY ================== */
.initial-cap::first-letter {font-size: 30px;}
.initial-cap.drop::first-letter {margin-top: 8px;}
.spotlight.initial-cap.drop::first-letter {margin-top: 10px;}
.initial-cap.raise::first-letter {margin-top: -7px;}
.spotlight.initial-cap.raise::first-letter {margin-top: -5px;}


/* === 03. MAIN ARCHITECTURE (KUMI/KATA) === */
/*** Hero Kumi ***/
#tokonoma .pocket,#tokonoma.moto .pocket {padding: calc(var(--ken) * 4) 0px calc(var(--ken) * 4) 0px;}
.tokonoma-text {padding-bottom: calc(var(--ken) * 4);text-align:center;}
#tokonoma.moto .pocket .tokonoma-text {padding-bottom: 0;}
.tokonoma-text h1 {line-height:32px;font-size: 28px;min-height:0px; }
.tokonoma-text h2 {line-height:20px;font-size: 20px;}
.tokonoma-text p {line-height:18px;font-size: 14px;}

/*** Navigation Kumi ***/
a.home {height:calc(var(--banner-h) - 9px);padding-top:9px;padding-left:40px;margin-left: -15px;font-size:16px;line-height:20px;background-size:35px auto;}
a.call {margin: 0 20px 0 auto;}

/*** Education Matters ***/
.education-art {width:calc(100% + 40px);margin-left:-20px;aspect-ratio:2/1;position: relative;}
.education-stats {width:calc(100% + 30px); margin-left:-15px;padding-bottom: calc(var(--ken) * 2);}
.education-stat {margin:0px 5px 0px 5px;}
.education-text h2 {font-size:24px;line-height:28px;}
.education-stat p .title {font-size:24px;line-height:28px;letter-spacing:0px;}

/*** Milestones ***/
.milestones-text h2 {padding:0px 0 10px 0px;font-size:24px;line-height:28px;}
.milestone-text h3 {padding-left:20px;}
.milestone-text p {padding-left:20px;}
.milestone-text .icon {width:40px;height:40px;border-radius:20px;background-size:23px auto;}
.milestone-text .bar {height:12px;border-radius:6px;}

/* === 04. LAYOUT ===================== */
.flex.no-mobile-flex {display: block;}
.reversed.no-mobile-reverse {flex-direction:row;}
.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);} /* optional class to force 2 columns in mobile view */
.cols-2,.cols-3{ grid-template-columns: 1fr; }
.cols-4{ grid-template-columns:repeat(2,1fr); }
.cols-5{ grid-template-columns:repeat(3,1fr); }

/* === 05. MEDIA ====================== */
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% + 40px); max-width: calc(100% + 40px); margin-left:-20px;}
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;max-width: 470px;}
figure.left.center-mobile, figure.right.center-mobile {float:none;margin: calc(var(--ken) * 4) auto calc(var(--ken) * 4) auto;max-width: 100%;}
figcaption {padding:calc(var(--ken) * 2) 0 0 0;}
figure.sbs {flex-direction: column;text-align: center;}
.sbs-img {max-width: 100%;}
figure.sbs {max-width:470px;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;}

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


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

/* === 08. UTILITIES ================== */

/* === 09. THEME/VARIANTS ============= */
/****** Custom Gallery ******/
.gallery-1 p {padding:0;}
.gallery-1 .button {margin-left: 0;}

}

/* ==================================================================================================================
   RESPONSIVE (Thin Mobile)
   ================================================================================================================== */
/*************** Thin Mobile ***************/
@media only screen and (max-width : 459px) {
.no-thin-mobile { display: none !important; }
.flex.no-thin-mobile-flex {display: block;} 
.col-wrap:not(.persistent) :is(.col-1-4,.col-1-5) {flex:0 0 100%;}
.cols-4,.cols-5{ grid-template-columns: 1fr; }

a.home {font-size:13px;}

}

/* ==================================================================================================================
   PLUGINS
   ================================================================================================================== */
/*********** GLightbox (Open Source MIT License)  ***********/
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;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;}
}
