@font-face {
	font-family:Pretendard;
	src:url('../images/PretendardVariable.woff2') format('woff2');
	font-weight:100 900;
	font-display:swap;
}
:root {
	--ink:#171923;
	--muted:#686b76;
	--blue:#2448ed;
	--paper:#f7f7f4;
	--line:#d9dae0;
	--lime:#d7ef74;
	--max:1400px;
}
* {
	box-sizing:border-box;
}
html {
	scroll-behavior:smooth;
	scroll-padding-top:100px;
}
body {
	margin:0;
	background:#fff;
	color:var(--ink);
	font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;
	font-size:16px;
	line-height:1.65;
	word-break:keep-all;
}
a {
	color:inherit;
	text-decoration:none;
}
button,input,select,textarea {
	font:inherit;
}
button,a,input,textarea,select {
	-webkit-tap-highlight-color:transparent;
}
button {
	cursor:pointer;
}
button:disabled {
	cursor:wait;
	opacity:.55;
}
button {
	color:inherit;
}
img {
	display:block;
	max-width:100%;
	height:auto;
}
h1,h2,h3,p {
	margin-top:0;
}
h1,h2,h3 {
	line-height:1.25;
	letter-spacing:-.045em;
}
h1 {
	font-size:clamp(42px,5.2vw,78px);
	font-weight:650;
}
h2 {
	font-size:clamp(30px,3.2vw,48px);
	font-weight:620;
}
h3 {
	font-size:24px;
}
em {
	font-style:normal;
	color:var(--blue);
}
:focus-visible {
	outline:3px solid var(--blue);
	outline-offset:5px;
}
.wrap {
	width:calc(100% - 112px);
	max-width:var(--max);
	margin:0 auto;
}
.narrow {
	max-width:1040px;
}
.eyebrow {
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	margin-bottom:30px;
}
.lead {
	font-size:19px;
	line-height:1.85;
	color:#565965;
	letter-spacing:-.02em;
}
.section {
	padding-top:112px;
	padding-bottom:112px;
}
.compact {
	padding-top:30px;
	padding-bottom:90px;
}
.skip {
	position:fixed;
	top:-100px;
	left:20px;
	background:var(--blue);
	color:#fff;
	padding:12px;
	z-index:200;
}
.skip:focus {
	top:12px;
}
.sr-only {
	position:absolute;
	clip:rect(0,0,0,0);
	width:1px;
	height:1px;
	overflow:hidden;
}
.site-header {
	height:94px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0 56px;
	border-bottom:1px solid var(--line);
	background:rgba(255,255,255,.97);
	position:sticky;
	top:0;
	z-index:30;
}
.wordmark {
	font-size:35px;
	line-height:1;
	font-weight:850;
	letter-spacing:-2px;
	white-space:nowrap;
}
.wordmark span {
	color:var(--blue);
}
.wordmark i {
	font-size:12px;
	font-style:normal;
	vertical-align:top;
	letter-spacing:0;
	margin-left:4px;
}
.site-header nav {
	display:flex;
	gap:34px;
	align-items:center;
	font-weight:600;
	font-size:14px;
}
.nav-contact {
	background:var(--ink);
	color:white;
	padding:14px 20px;
}
.nav-contact span {
	margin-left:20px;
}
.nav-more {
	position:relative;
}
.nav-more>button {
	border:0;
	background:none;
	padding:20px 0;
	font-weight:600;
}
.nav-sub {
	display:none;
	position:absolute;
	top:100%;
	right:0;
	width:225px;
	padding:18px 24px;
	background:white;
	box-shadow:0 14px 32px #00000012;
	border:1px solid var(--line);
}
.nav-sub a {
	display:block;
	padding:9px 0;
}
.nav-more>button[aria-expanded=true]+.nav-sub {
	display:block;
}
.menu-toggle {
	display:none;
}
.hero {
	display:grid;
	grid-template-columns:1.06fr 1fr;
	min-height:680px;
	align-items:stretch;
	gap:46px;
	padding-top:56px;
	padding-bottom:56px;
}
.hero-copy {
	padding-top:45px;
	display:flex;
	flex-direction:column;
}
.hero .eyebrow {
	font-size:11px;
	letter-spacing:.06em;
	margin-bottom:40px;
	display:flex;
	align-items:center;
	gap:10px;
}
.tiny-square {
	display:inline-block;
	background:var(--blue);
	width:8px;
	height:8px;
}
.hero h1 {
	letter-spacing:-.06em;
	margin-bottom:25px;
	line-height:1.17;
}
.hero-actions {
	display:flex;
	gap:25px;
	align-items:center;
	flex-wrap:wrap;
	margin-top:17px;
}
.btn {
	border:1px solid var(--blue);
	background:var(--blue);
	color:#fff;
	display:inline-flex;
	gap:30px;
	align-items:center;
	justify-content:center;
	padding:17px 25px;
	font-weight:650;
	font-size:14px;
	min-height:54px;
	border-radius:0;
}
.btn:hover {
	background:#1434c9;
}
.btn.outline {
	background:transparent;
	border-color:var(--ink);
	color:var(--ink);
}
.btn.outline:hover {
	background:#eaeaea;
}
.text-link {
	display:inline-block;
	background:none;
	border:0;
	border-bottom:1px solid currentColor;
	font-size:14px;
	font-weight:650;
	padding:3px 0;
}
.hero-note {
	display:flex;
	justify-content:space-between;
	gap:12px;
	font-size:9px;
	font-weight:600;
	letter-spacing:.07em;
	margin-top:auto;
	padding-top:45px;
}
.hero-art {
	position:relative;
	min-height:580px;
	background:#e9ebf3;
	overflow:hidden;
}
.hero-art:before {
	content:'';
	position:absolute;
	width:1px;
	top:0;
	bottom:0;
	left:50%;
	background:#d5d8e5;
}
.art-label {
	position:absolute;
	top:26px;
	left:28px;
	font-size:11px;
	font-weight:650;
	line-height:1.4;
	letter-spacing:.06em;
}
.art-paper {
	position:absolute;
	width:43%;
	height:72%;
	box-shadow:12px 20px 26px #26315328;
	background:white;
	overflow:hidden;
	transition:transform .5s;
}
.art-paper img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top;
}
.paper-one {
	top:20%;
	left:6%;
	transform:rotate(-9deg);
}
.paper-two {
	top:13%;
	right:7%;
	transform:rotate(7deg);
}
.hero-art:hover .paper-one {
	transform:rotate(-6deg) translateY(-5px);
}
.hero-art:hover .paper-two {
	transform:rotate(4deg) translateY(-5px);
}
.art-stamp {
	position:absolute;
	bottom:40px;
	left:29px;
	background:var(--lime);
	font-size:16px;
	line-height:1.2;
	font-weight:750;
	letter-spacing:-.03em;
	padding:17px 21px;
}
.art-caption {
	position:absolute;
	bottom:15px;
	right:20px;
	letter-spacing:.08em;
	font-size:8px;
	font-weight:700;
}
.service-strip {
	display:flex;
	justify-content:space-around;
	gap:28px;
	background:var(--blue);
	color:#fff;
	padding:22px 40px;
	align-items:center;
	overflow:hidden;
	white-space:nowrap;
	font-size:13px;
	font-weight:650;
	letter-spacing:.1em;
}
.service-strip i {
	color:var(--lime);
	font-size:24px;
	font-style:normal;
}
.section-top {
	display:grid;
	grid-template-columns:1fr 2.1fr 1fr;
	gap:30px;
	margin-bottom:54px;
	align-items:start;
}
.section-top .eyebrow {
	margin-top:7px;
}
.section-top h2 {
	margin-bottom:0;
}
.section-top .text-link {
	justify-self:end;
	align-self:end;
}
.service-lines {
	border-top:1px solid var(--ink);
}
.service-lines>a {
	display:grid;
	grid-template-columns:.45fr 1.5fr 1.35fr 40px;
	padding:32px 0;
	align-items:center;
	border-bottom:1px solid var(--line);
	gap:20px;
}
.service-lines h3,.service-lines p {
	margin:0;
}
.service-lines h3 {
	font-size:31px;
}
.service-lines p {
	font-size:15px;
	color:var(--muted);
}
.service-lines>a>span {
	font-size:12px;
	color:var(--muted);
}
.service-lines b {
	font-size:30px;
	font-weight:400;
}
.service-lines>a:hover h3 {
	color:var(--blue);
}
.work-section {
	background:var(--paper);
}
.work-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:44px 28px;
}
.work-image {
	height:440px;
	background:#e3e5e9;
	position:relative;
	overflow:hidden;
	padding:27px 38px 0;
}
.work-image img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top;
	transition:transform .4s;
}
.work-image>span {
	position:absolute;
	bottom:0;
	right:0;
	background:var(--blue);
	padding:12px 17px;
	color:white;
	font-size:11px;
	letter-spacing:.08em;
	opacity:0;
	transition:opacity .2s;
}
.work-card:hover .work-image>span {
	opacity:1;
}
.work-card:hover img {
	transform:translateY(-5px);
}
.work-meta {
	display:flex;
	justify-content:space-between;
	gap:10px;
	color:var(--muted);
	font-size:11px;
	margin:18px 0 8px;
}
.work-card h2,.work-card h3 {
	font-size:21px;
	font-weight:600;
	margin:0;
}
.approach {
	display:grid;
	grid-template-columns:1.1fr 1fr;
	gap:130px;
}
.approach .lead {
	font-size:17px;
	margin-top:35px;
}
.process {
	list-style:none;
	margin:0;
	padding:0;
	border-top:1px solid var(--ink);
}
.process li {
	padding:24px 0;
	border-bottom:1px solid var(--line);
}
.process span {
	font-size:10px;
	color:var(--blue);
	letter-spacing:.1em;
	font-weight:700;
}
.process h3 {
	font-size:22px;
	margin:12px 0 8px;
}
.process p {
	color:var(--muted);
	font-size:14px;
	margin:0;
}
.journal {
	border-top:1px solid var(--line);
}
.journal-row {
	display:grid;
	grid-template-columns:150px 1fr 100px 20px;
	align-items:center;
	gap:20px;
	padding:27px 0;
	border-top:1px solid var(--line);
}
.journal-row>span,.journal-row time {
	font-size:12px;
	color:var(--muted);
}
.journal-row h3 {
	font-size:21px;
	margin:0;
	font-weight:550;
}
.journal-row b {
	font-size:23px;
	font-weight:400;
}
.halo-line {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:20px;
	font-size:13px;
	padding-top:52px;
}
.halo-line a {
	font-weight:700;
}
.halo-line button {
	border:0;
	background:none;
	text-decoration:underline;
	font-size:12px;
	color:var(--muted);
}
.contact-band {
	background:var(--blue);
	color:white;
	padding:75px max(56px,calc((100vw - 1400px)/2));
	display:grid;
	grid-template-columns:1.4fr .6fr 1fr;
	align-items:center;
	gap:20px;
}
.contact-band h2 {
	font-size:46px;
	margin-bottom:0;
}
.contact-band .eyebrow {
	font-size:10px;
	color:#cad3ff;
	margin-bottom:24px;
}
.big-arrow {
	font-size:120px;
	font-weight:300;
	justify-self:center;
	line-height:1;
}
.contact-links {
	display:flex;
	flex-direction:column;
	gap:12px;
	align-items:flex-start;
	font-size:18px;
}
.contact-links a:last-child {
	font-size:13px;
	color:#dce3ff;
	margin-top:15px;
}
.site-footer {
	padding:58px 56px;
	display:grid;
	grid-template-columns:1fr 2fr 1fr;
	gap:35px;
	font-size:11px;
	color:var(--muted);
}
.site-footer .wordmark {
	color:var(--ink);
}
.site-footer p {
	margin-bottom:6px;
}
.footer-links {
	display:flex;
	justify-content:flex-end;
	align-content:start;
	gap:8px 18px;
	flex-wrap:wrap;
}
.footer-links a:first-child {
	flex-basis:100%;
	text-align:right;
	font-weight:700;
	color:var(--ink);
	font-size:14px;
	margin-bottom:12px;
}
.page-intro {
	padding-top:85px;
	padding-bottom:60px;
}
.page-intro .eyebrow {
	color:var(--blue);
}
.page-intro h1 {
	font-size:64px;
	margin-bottom:25px;
}
.page-intro p:last-child {
	font-size:18px;
	color:var(--muted);
}
.title-dot {
	color:var(--blue);
}
.board-tabs {
	display:flex;
	flex-wrap:wrap;
	gap:0 28px;
	border-bottom:1px solid var(--line);
	margin-bottom:35px;
}
.board-tabs a {
	padding:16px 0;
	color:var(--muted);
	font-size:14px;
}
.board-tabs a.active {
	color:var(--blue);
	border-bottom:2px solid var(--blue);
	font-weight:650;
}
.filter-line {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:24px;
	margin-bottom:36px;
}
.filter-line>strong {
	font-size:12px;
	letter-spacing:.05em;
}
.filter-line>p {
	font-size:14px;
	color:var(--muted);
	margin:0;
}
.filter-controls {
	display:flex;
	gap:14px;
}
.search-field {
	display:flex;
	border-bottom:1px solid var(--ink);
	align-items:center;
}
.search-field input {
	border:0;
	padding:10px;
	width:200px;
	background:none;
}
.search-field button {
	border:0;
	background:none;
	font-size:13px;
	padding:10px;
}
.filter-line select {
	border:1px solid var(--line);
	padding:8px;
	background:#fff;
}
.post-list {
	border-top:1px solid var(--ink);
}
.post-row {
	display:grid;
	grid-template-columns:70px 1fr 110px 80px;
	align-items:center;
	gap:20px;
	padding:27px 0;
	border-bottom:1px solid var(--line);
}
.post-row>span,.post-row time {
	font-size:12px;
	color:var(--muted);
}
.post-row h2 {
	font-size:20px;
	font-weight:550;
	margin:0;
}
.post-row b {
	text-align:right;
	font-size:24px;
	font-weight:400;
}
.post-row:hover h2 {
	color:var(--blue);
}
.status {
	background:#eef1ff;
	color:var(--blue)!important;
	padding:4px 8px;
	text-align:center;
	white-space:nowrap;
}
.pagination {
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:45px;
}
.pagination a {
	width:38px;
	height:38px;
	display:grid;
	place-items:center;
	font-size:13px;
	border:1px solid var(--line);
}
.pagination a.active {
	background:var(--ink);
	color:white;
	border-color:var(--ink);
}
.archive-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:46px 28px;
}
.archive-image {
	height:290px;
	background:#edf0f3;
	overflow:hidden;
	display:grid;
	place-items:center;
}
.archive-image img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top;
	transition:transform .4s;
}
.archive-card:hover img {
	transform:scale(1.025);
}
.archive-card h2 {
	font-size:21px;
}
.empty {
	padding:70px 25px;
	text-align:center;
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
	color:var(--muted);
}
.editorial-empty {
	text-align:left;
	display:grid;
	grid-template-columns:1.5fr 1fr;
	gap:20px;
	align-items:center;
}
.editorial-empty strong {
	font-size:42px;
	font-weight:550;
	line-height:1.2;
	letter-spacing:-.04em;
	color:var(--ink);
}
.editorial-empty .btn {
	grid-column:2;
	justify-self:start;
}
.article {
	padding-top:65px;
	padding-bottom:90px;
}
.back-link {
	font-size:14px;
	color:var(--muted);
}
.article-head {
	margin-top:35px;
	padding-bottom:35px;
	border-bottom:1px solid var(--line);
}
.article-head h1 {
	font-size:42px;
	line-height:1.4;
}
.article-head h2 {
	font-size:30px;
}
.article-head .eyebrow {
	color:var(--blue);
	margin-bottom:17px;
}
.article-head p:last-child {
	font-size:13px;
	color:var(--muted);
	margin:20px 0 0;
}
.article-head p span {
	margin:0 12px;
}
.article-content {
	padding:40px 0 55px;
	overflow-wrap:anywhere;
	word-break:normal;
	line-height:1.9;
	font-size:17px;
}
.article-content img {
	max-width:100%;
	height:auto;
	margin:20px auto;
}
.article-content a {
	color:var(--blue);
	text-decoration:underline;
}
.article-content pre,.article-content code {
	font-family:monospace;
	white-space:pre-wrap;
	background:#f3f4f6;
	word-break:break-all;
}
.article-content pre {
	padding:24px;
	font-size:14px;
}
.article-content table {
	max-width:100%;
	border-collapse:collapse;
	display:block;
	overflow-x:auto;
}
.article-content td,.article-content th {
	padding:12px;
	border:1px solid var(--line);
}
.article-content h2 {
	font-size:28px;
}
.plain-content {
	white-space:pre-wrap;
	overflow-wrap:anywhere;
	line-height:1.85;
}
.service-detail {
	display:grid;
	grid-template-columns:1fr 2fr;
	padding-top:65px;
	padding-bottom:65px;
	border-top:1px solid var(--line);
	gap:50px;
}
.service-number {
	font-size:100px;
	color:#d5d8e1;
	letter-spacing:-.08em;
	line-height:1;
}
.service-detail p {
	color:var(--muted);
	font-size:17px;
}
.service-detail .eyebrow {
	color:var(--blue);
	font-size:11px;
}
.feature-list {
	padding:0;
	list-style:none;
	margin:30px 0;
}
.feature-list li {
	border-bottom:1px solid var(--line);
	padding:13px 0;
	font-size:15px;
}
.feature-list li:before {
	content:'↗';
	margin-right:20px;
	color:var(--blue);
}
.faq details {
	padding:24px 0;
	border-bottom:1px solid var(--line);
}
.faq summary {
	font-weight:600;
	font-size:20px;
	cursor:pointer;
}
.faq details p {
	margin:20px 0 0;
	max-width:800px;
	color:var(--muted);
}
.form-heading {
	display:grid;
	grid-template-columns:1fr 2fr;
	gap:30px;
	margin:45px 0 25px;
	padding-top:25px;
	border-top:1px solid var(--ink);
}
.form-heading span {
	font-size:10px;
	letter-spacing:.1em;
	color:var(--muted);
}
.form-heading h2 {
	font-size:26px;
	margin:0;
}
.form-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:26px 35px;
}
.form-grid label,.lookup-form label {
	display:flex;
	flex-direction:column;
	gap:8px;
	font-size:14px;
	font-weight:600;
	position:relative;
}
.form-grid label b {
	color:var(--blue);
	position:absolute;
	left:-14px;
}
.form-grid input,.form-grid select,.form-grid textarea,.lookup-form input {
	border:1px solid var(--line);
	border-radius:0;
	background:#fff;
	min-height:52px;
	padding:13px;
	width:100%;
	font-size:16px;
}
.form-grid .full {
	grid-column:1/-1;
}
.form-grid small {
	font-size:12px;
	font-weight:400;
	color:var(--muted);
}
.upload-area {
	border:1px dashed #aeb3c6;
	margin:35px 0;
	padding:25px;
}
.upload-label {
	display:flex;
	gap:25px;
	align-items:center;
	font-weight:600;
	flex-wrap:wrap;
}
.upload-label input {
	font-size:14px;
	max-width:100%;
}
.upload-area>p {
	font-size:13px;
	color:var(--muted);
	margin:15px 0;
}
.upload-row {
	display:flex;
	align-items:center;
	gap:15px;
	flex-wrap:wrap;
	font-size:12px;
	padding:13px 0;
	border-top:1px solid var(--line);
	overflow-wrap:anywhere;
	word-break:break-all;
}
.upload-row progress {
	width:130px;
	height:7px;
	accent-color:var(--blue);
}
.upload-row button {
	margin-left:auto;
	border:1px solid var(--line);
	background:#fff;
	font-size:12px;
	padding:4px 10px;
}
.upload-error {
	color:#a52b2b;
}
.consent-box {
	padding:25px;
	background:var(--paper);
	margin:30px 0;
}
.consent-box h3 {
	font-size:17px;
}
.consent-box p {
	font-size:13px;
	color:var(--muted);
	line-height:1.9;
}
.check {
	display:flex;
	align-items:center;
	gap:8px;
	font-size:14px;
}
.check input {
	width:18px;
	height:18px;
	accent-color:var(--blue);
	flex:none;
}
.consent-box>a {
	font-size:12px;
	color:var(--muted);
	text-decoration:underline;
}
.muted {
	color:var(--muted);
	font-size:13px;
	margin-top:16px;
}
.honeypot {
	position:absolute;
	left:-10000px;
	width:1px;
	height:1px;
	overflow:hidden;
}
.alert {
	padding:18px 22px;
	background:#eef1ff;
	color:#1636be;
	border-left:3px solid var(--blue);
	font-size:14px;
	margin-bottom:25px;
}
.alert.error {
	background:#fff1ef;
	color:#982e21;
	border-color:#982e21;
}
.lookup-layout {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:90px;
	padding:45px 0;
}
.lookup-layout h2 {
	font-size:34px;
}
.lookup-layout p {
	color:var(--muted);
}
.lookup-layout a {
	font-size:13px;
	text-decoration:underline;
}
.lookup-form {
	display:flex;
	flex-direction:column;
	gap:25px;
}
.lookup-form .btn {
	align-self:start;
}
.receipt-line {
	display:flex;
	gap:20px;
	align-items:center;
	padding:20px;
	background:var(--paper);
	flex-wrap:wrap;
}
.receipt-line strong {
	font-size:19px;
	font-weight:550;
	letter-spacing:.03em;
	overflow-wrap:anywhere;
}
.receipt-line span {
	font-size:13px;
}
.receipt-line button {
	border:1px solid var(--line);
	background:white;
	padding:4px 12px;
	font-size:13px;
}
.detail-info {
	display:grid;
	grid-template-columns:140px 1fr;
	gap:12px;
	padding:25px 0;
	border-bottom:1px solid var(--line);
	margin-bottom:35px;
	font-size:14px;
}
.detail-info dt {
	color:var(--muted);
}
.detail-info dd {
	margin:0;
	overflow-wrap:anywhere;
}
.reply {
	padding:35px 0;
	border-top:1px solid var(--line);
	margin-top:35px;
}
.reply h3 {
	font-size:25px;
}
.reply .eyebrow {
	color:var(--blue);
	margin-bottom:14px;
}
.attachment-list {
	list-style:none;
	padding:0;
	font-size:14px;
}
.attachment-list li {
	border:1px solid var(--line);
	padding:12px 18px;
	margin:6px 0;
	overflow-wrap:anywhere;
}
.danger {
	color:#ab352a;
}
.brand-gate {
	border:0;
	padding:45px 58px 24px;
	width:1050px;
	max-width:calc(100% - 40px);
	max-height:calc(100dvh - 40px);
	color:var(--ink);
	background:#fafaf7;
	overflow:auto;
}
.brand-gate::backdrop {
	background:rgba(15,20,35,.62);
	backdrop-filter:blur(5px);
}
.gate-open {
	overflow:hidden;
}
.gate-head {
	display:flex;
	justify-content:space-between;
	align-items:center;
	border-bottom:1px solid var(--line);
	padding-bottom:25px;
	margin-bottom:40px;
	font-size:12px;
	font-weight:650;
	letter-spacing:.08em;
}
.gate-head button {
	border:0;
	background:none;
	font-size:12px;
	color:var(--muted);
	letter-spacing:0;
}
.brand-gate>.eyebrow {
	font-size:10px;
	color:var(--blue);
	margin-bottom:20px;
}
.brand-gate>h2 {
	font-size:45px;
	font-weight:600;
	margin-bottom:35px;
}
.brand-options {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:0;
}
.brand-option {
	text-align:left;
	border:0;
	border-radius:0;
	display:block;
	padding:30px 32px 27px;
	transition:background .2s;
}
.brand-option>span {
	font-size:9px;
	font-weight:600;
	letter-spacing:.08em;
}
.brand-option strong {
	display:block;
	font-size:39px;
	letter-spacing:-.05em;
	margin:16px 0;
}
.brand-option p {
	font-size:15px;
	line-height:1.7;
	margin:0 0 32px;
}
.brand-option b {
	display:block;
	font-size:12px;
	border-top:1px solid #ffffff40;
	padding-top:16px;
}
.invite-option {
	background:var(--blue);
	color:white;
}
.invite-option:hover {
	background:#1434c9;
}
.halo-option {
	background:#1a1d24;
	color:#fff;
}
.halo-option:hover {
	background:#30343d;
}
.gate-foot {
	display:flex;
	justify-content:space-between;
	font-size:10px;
	color:var(--muted);
	padding-top:24px;
}
.missing-image {
	min-height:100px;
	color:var(--muted);
}
@media(min-width:1700px) {
	.hero {
		min-height:740px;
	}
	.hero-art {
		min-height:630px;
	}
}
@media(max-width:1150px) {
	.wrap {
		width:calc(100% - 64px);
	}
	.site-header {
		padding:0 32px;
	}
	.site-header nav {
		gap:19px;
		font-size:13px;
	}
	.hero {
		gap:30px;
		min-height:610px;
	}
	.hero-art {
		min-height:510px;
	}
	.hero-copy {
		padding-top:25px;
	}
	.hero h1 {
		font-size:57px;
	}
	.hero .eyebrow {
		font-size:9px;
	}
	.hero .lead {
		font-size:17px;
	}
	.hero-note {
		font-size:8px;
	}
	.section-top {
		grid-template-columns:1fr 2fr;
	}
	.section-top .text-link {
		grid-column:2;
		justify-self:start;
	}
	.approach {
		gap:65px;
	}
	.work-image {
		height:370px;
		padding:22px 25px 0;
	}
	.contact-band {
		padding:60px 32px;
	}
	.contact-band h2 {
		font-size:37px;
	}
	.contact-links {
		font-size:15px;
	}
	.site-footer {
		padding:50px 32px;
	}
	.archive-image {
		height:240px;
	}
	.service-strip {
		font-size:11px;
		gap:20px;
	}
}
@media(max-width:850px) {
	.site-header {
		height:78px;
	}
	.menu-toggle {
		display:flex;
		align-items:center;
		gap:14px;
		border:0;
		background:none;
		font-size:13px;
	}
	.menu-toggle span {
		font-size:21px;
	}
	.site-header nav {
		display:none;
		position:absolute;
		left:0;
		right:0;
		top:78px;
		background:#fff;
		padding:20px 32px;
		border-bottom:1px solid var(--line);
		max-height:calc(100dvh - 78px);
		overflow:auto;
		align-items:stretch;
	}
	.site-header nav.open {
		display:flex;
		flex-direction:column;
		gap:0;
	}
	.site-header nav>a {
		padding:16px 0;
		border-bottom:1px solid var(--line);
	}
	.site-header nav>.nav-contact {
		padding:16px 20px;
		margin-top:14px;
	}
	.nav-sub {
		position:static;
		box-shadow:none;
		border:0;
		width:auto;
		padding:0 0 15px 15px;
	}
	.nav-more>button {
		width:100%;
		text-align:left;
	}
	.hero {
		gap:30px;
	}
	.hero h1 {
		font-size:48px;
	}
	.hero .eyebrow {
		margin-bottom:30px;
		line-height:1.8;
		max-width:230px;
	}
	.hero .lead {
		font-size:16px;
	}
	.hero-art {
		min-height:480px;
	}
	.hero .btn {
		padding:14px 18px;
		font-size:12px;
		gap:18px;
	}
	.hero-actions {
		gap:18px;
	}
	.hero-note {
		flex-direction:column;
		gap:8px;
	}
	.art-label {
		font-size:9px;
		left:20px;
	}
	.art-paper {
		height:65%;
		width:47%;
	}
	.paper-one {
		left:2%;
		top:23%;
	}
	.paper-two {
		right:3%;
		top:17%;
	}
	.art-stamp {
		font-size:13px;
		left:17px;
		bottom:38px;
		padding:14px;
	}
	.section {
		padding-top:80px;
		padding-bottom:80px;
	}
	.section-top {
		grid-template-columns:1fr;
		gap:16px;
		margin-bottom:38px;
	}
	.section-top .eyebrow {
		margin:0 0 6px;
	}
	.section-top .text-link {
		grid-column:1;
		margin-top:8px;
	}
	.service-lines>a {
		grid-template-columns:40px 1fr 1fr 25px;
		gap:15px;
	}
	.service-lines h3 {
		font-size:25px;
	}
	.service-lines p {
		font-size:13px;
	}
	.work-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.work-image {
		height:410px;
	}
	.approach {
		grid-template-columns:1fr 1fr;
		gap:45px;
	}
	.approach h2 {
		font-size:32px;
	}
	.approach .lead {
		font-size:15px;
	}
	.journal-row {
		grid-template-columns:80px 1fr 80px 20px;
		gap:15px;
	}
	.journal-row h3 {
		font-size:17px;
	}
	.journal-row time {
		font-size:10px;
	}
	.contact-band {
		grid-template-columns:1fr 100px;
	}
	.contact-links {
		grid-column:1/-1;
		flex-direction:row;
		flex-wrap:wrap;
		gap:10px 25px;
		margin-top:25px;
	}
	.contact-links a:last-child {
		margin:0;
	}
	.big-arrow {
		font-size:95px;
	}
	.site-footer {
		grid-template-columns:1fr 2fr;
	}
	.footer-links {
		grid-column:1/-1;
		justify-content:flex-start;
	}
	.footer-links a:first-child {
		flex-basis:auto;
		text-align:left;
		font-size:11px;
		margin:0;
	}
	.page-intro {
		padding-top:65px;
		padding-bottom:40px;
	}
	.page-intro h1 {
		font-size:50px;
	}
	.archive-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.archive-image {
		height:260px;
	}
	.compact {
		padding-top:15px;
	}
	.post-row {
		grid-template-columns:50px 1fr 85px 70px;
		gap:10px;
	}
	.post-row h2 {
		font-size:17px;
	}
	.post-row time {
		font-size:11px;
	}
	.post-row .status {
		font-size:10px;
	}
	.lookup-layout {
		gap:40px;
	}
	.lookup-layout h2 {
		font-size:28px;
	}
	.form-heading {
		grid-template-columns:1fr;
		gap:10px;
	}
	.service-detail {
		grid-template-columns:100px 1fr;
		gap:30px;
	}
	.service-number {
		font-size:76px;
	}
	.brand-gate {
		padding:30px;
	}
	.brand-option {
		padding:25px;
	}
	.brand-option strong {
		font-size:32px;
	}
	.brand-gate>h2 {
		font-size:37px;
	}
	.gate-head {
		margin-bottom:28px;
	}
	.editorial-empty {
		grid-template-columns:1fr;
	}
	.editorial-empty .btn {
		grid-column:1;
	}
}
@media(max-width:600px) {
	body {
		font-size:16px;
	}
	.wrap {
		width:calc(100% - 40px);
	}
	.site-header {
		padding:0 20px;
		height:72px;
	}
	.wordmark {
		font-size:31px;
	}
	.site-header nav {
		top:72px;
		padding:15px 20px;
	}
	.hero {
		grid-template-columns:1fr;
		padding-top:28px;
		padding-bottom:30px;
		gap:30px;
	}
	.hero-copy {
		padding-top:10px;
	}
	.hero h1 {
		font-size:clamp(44px,11.8vw,65px);
		margin-bottom:22px;
	}
	.hero .eyebrow {
		max-width:none;
		font-size:9px;
		margin-bottom:29px;
	}
	.hero .lead {
		font-size:16px;
		line-height:1.85;
	}
	.hero-actions {
		margin-top:12px;
		gap:22px;
	}
	.hero .btn {
		min-height:52px;
		font-size:13px;
	}
	.hero .text-link {
		font-size:12px;
	}
	.hero-note {
		display:none;
	}
	.hero-art {
		height:460px;
		min-height:0;
		margin-top:8px;
	}
	.art-paper {
		height:76%;
		width:42%;
	}
	.paper-one {
		left:8%;
		top:18%;
	}
	.paper-two {
		right:8%;
		top:12%;
	}
	.art-stamp {
		font-size:13px;
	}
	.art-label {
		top:20px;
	}
	.service-strip {
		justify-content:flex-start;
		font-size:10px;
		padding:16px 20px;
		gap:20px;
	}
	.service-strip i {
		font-size:18px;
	}
	.section {
		padding-top:65px;
		padding-bottom:65px;
	}
	.section-top h2,h2 {
		font-size:31px;
	}
	.section-top {
		margin-bottom:32px;
		gap:13px;
	}
	.eyebrow {
		font-size:10px;
	}
	.service-lines>a {
		grid-template-columns:25px 1fr 25px;
		padding:24px 0;
		gap:8px 12px;
	}
	.service-lines h3 {
		font-size:23px;
	}
	.service-lines p {
		grid-column:2;
		font-size:13px;
	}
	.service-lines b {
		grid-column:3;
		grid-row:1/3;
		font-size:26px;
	}
	.service-lines>a>span {
		align-self:start;
		font-size:10px;
		padding-top:5px;
	}
	.work-grid {
		gap:30px 14px;
	}
	.work-image {
		height:250px;
		padding:17px 14px 0;
	}
	.work-card h2,.work-card h3 {
		font-size:16px;
		line-height:1.4;
	}
	.work-meta {
		font-size:9px;
		gap:4px;
		margin:12px 0 6px;
		flex-wrap:wrap;
	}
	.work-image>span {
		display:none;
	}
	.approach {
		grid-template-columns:1fr;
		gap:28px;
	}
	.approach .lead {
		margin-top:25px;
		font-size:16px;
	}
	.process li {
		padding:22px 0;
	}
	.process h3 {
		font-size:22px;
	}
	.journal-row {
		grid-template-columns:1fr 60px 15px;
		gap:6px 10px;
		padding:20px 0;
	}
	.journal-row>span {
		grid-column:1/-1;
		font-size:10px;
	}
	.journal-row h3 {
		font-size:17px;
		line-height:1.5;
	}
	.journal-row time {
		font-size:9px;
	}
	.halo-line {
		align-items:flex-start;
		flex-wrap:wrap;
		font-size:12px;
		padding-top:30px;
		gap:12px;
	}
	.halo-line>span {
		flex-basis:100%;
	}
	.contact-band {
		padding:48px 20px;
		grid-template-columns:1fr 55px;
		gap:10px;
	}
	.contact-band h2 {
		font-size:32px;
	}
	.big-arrow {
		font-size:70px;
	}
	.contact-links {
		font-size:15px;
		gap:7px 20px;
		flex-direction:column;
	}
	.contact-links a:last-child {
		margin-top:10px;
	}
	.site-footer {
		padding:35px 20px;
		grid-template-columns:1fr;
		gap:25px;
		font-size:10px;
	}
	.footer-links {
		grid-column:1;
		gap:10px 17px;
	}
	.page-intro {
		padding-top:47px;
		padding-bottom:25px;
	}
	.page-intro h1 {
		font-size:41px;
		line-height:1.25;
	}
	.page-intro p:last-child {
		font-size:16px;
	}
	.page-intro .eyebrow {
		margin-bottom:25px;
	}
	.compact {
		padding-top:12px;
	}
	.board-tabs {
		gap:0 22px;
		margin-bottom:25px;
	}
	.board-tabs a {
		font-size:12px;
		padding:12px 0;
	}
	.filter-line {
		align-items:flex-start;
		flex-direction:column;
		gap:17px;
		margin-bottom:25px;
	}
	.filter-line>p {
		font-size:13px;
	}
	.filter-controls {
		width:100%;
		gap:8px;
		flex-wrap:wrap;
	}
	.search-field {
		flex:1;
		min-width:0;
		width:100%;
	}
	.search-field input {
		width:100%;
		min-width:0;
		font-size:14px;
	}
	.search-field button {
		white-space:nowrap;
	}
	.filter-line select {
		font-size:13px;
	}
	.post-row {
		grid-template-columns:35px 1fr 75px;
		gap:8px;
		padding:20px 0;
	}
	.post-row h2 {
		font-size:16px;
		line-height:1.5;
	}
	.post-row time {
		grid-column:2;
		grid-row:2;
		font-size:10px;
	}
	.post-row>b,.post-row>.status {
		grid-column:3;
		grid-row:1/3;
	}
	.post-row>span {
		font-size:10px;
	}
	.post-row>b {
		font-size:22px;
	}
	.archive-grid {
		grid-template-columns:1fr;
		gap:32px;
	}
	.archive-image {
		height:290px;
	}
	.archive-card h2 {
		font-size:21px;
	}
	.archive-card .work-meta {
		font-size:11px;
	}
	.article {
		padding-top:35px;
		padding-bottom:60px;
	}
	.article-head h1 {
		font-size:29px;
	}
	.article-content {
		font-size:16px;
		padding-top:30px;
	}
	.article-content h2 {
		font-size:24px;
	}
	.article-content pre {
		padding:16px;
		font-size:12px;
	}
	.article-head h2 {
		font-size:26px;
	}
	.service-detail {
		grid-template-columns:1fr;
		padding-top:35px;
		padding-bottom:40px;
		gap:18px;
	}
	.service-number {
		font-size:48px;
	}
	.service-detail h2 {
		font-size:31px;
	}
	.service-detail p {
		font-size:16px;
	}
	.service-detail .eyebrow {
		margin-bottom:20px;
	}
	.feature-list li {
		font-size:14px;
	}
	.faq summary {
		font-size:18px;
	}
	.faq details p {
		font-size:15px;
	}
	.form-heading {
		margin-top:30px;
	}
	.form-heading h2 {
		font-size:23px;
		line-height:1.5;
	}
	.form-grid {
		grid-template-columns:1fr;
		gap:21px;
	}
	.form-grid label {
		font-size:14px;
	}
	.form-grid input,.form-grid select,.form-grid textarea {
		font-size:16px;
	}
	.form-grid label b {
		left:auto;
		right:0;
		top:0;
	}
	.upload-area {
		padding:20px 16px;
	}
	.upload-label {
		gap:16px;
		font-size:15px;
	}
	.upload-row {
		gap:8px;
	}
	.upload-row>span:first-child {
		flex-basis:100%;
	}
	.consent-box {
		padding:20px 16px;
	}
	.consent-box p {
		font-size:12px;
	}
	.check {
		font-size:12px;
		flex-wrap:wrap;
	}
	.consent-box>a {
		font-size:11px;
	}
	.lookup-layout {
		grid-template-columns:1fr;
		gap:30px;
		padding-top:25px;
	}
	.lookup-form .btn {
		width:100%;
	}
	.lookup-layout h2 {
		font-size:30px;
	}
	.receipt-line {
		padding:17px;
		gap:10px;
	}
	.receipt-line strong {
		font-size:16px;
		width:100%;
		order:3;
	}
	.detail-info {
		grid-template-columns:85px 1fr;
		gap:10px;
		font-size:13px;
	}
	.private-inquiry .plain-content {
		font-size:15px;
	}
	.reply {
		padding-top:25px;
	}
	.attachment-list {
		font-size:13px;
	}
	.brand-gate {
		max-width:calc(100% - 24px);
		max-height:calc(100dvh - 24px);
		padding:22px 20px 17px;
	}
	.gate-head {
		font-size:9px;
		letter-spacing:.01em;
		margin-bottom:25px;
		padding-bottom:16px;
		gap:8px;
	}
	.gate-head button {
		font-size:10px;
	}
	.brand-gate>.eyebrow {
		font-size:8px;
		margin-bottom:15px;
	}
	.brand-gate>h2 {
		font-size:32px;
		margin-bottom:25px;
	}
	.brand-options {
		grid-template-columns:1fr;
	}
	.brand-option {
		padding:20px 23px;
		position:relative;
	}
	.brand-option>span {
		font-size:8px;
	}
	.brand-option strong {
		font-size:30px;
		margin:8px 0;
	}
	.brand-option p {
		font-size:13px;
		margin-bottom:18px;
	}
	.brand-option b {
		font-size:11px;
		padding-top:12px;
	}
	.gate-foot {
		font-size:8px;
		padding-top:17px;
		gap:10px;
	}
	.editorial-empty {
		padding:35px 0;
	}
	.editorial-empty strong {
		font-size:32px;
	}
	.editorial-empty p {
		font-size:15px;
	}
	.empty {
		font-size:15px;
	}
}
@media(prefers-reduced-motion:reduce) {
	html {
		scroll-behavior:auto;
	}
	*,*:before,*:after {
		transition:none!important;
		animation:none!important;
	}
}
.work-description {
	font-size:13px;
	color:var(--muted);
	line-height:1.7;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	margin:10px 0 0;
}
