:root {
  --kg-bg: #f0ede7;
  --kg-paper: #f8f6f1;
  --kg-ink: #11130f;
  --kg-muted: #666a61;
  --kg-line: rgba(17,19,15,.14);
  --kg-dark: #11130f;
  --kg-dark-2: #191c17;
  --kg-stone: #a6a18f;
  --kg-stone-light: #d7d1c4;
  --kg-accent: #c6baa1;
  --kg-radius: 2px;
  --kg-shell: min(1440px, calc(100vw - 64px));
  --kg-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Baskerville, "Times New Roman", serif;
  --kg-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--kg-bg); color: var(--kg-ink); font-family: var(--kg-sans); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: #262b23; color: #fff; }
.kg-shell { width: var(--kg-shell); margin-inline: auto; }
.kg-skip { position: fixed; top: 10px; left: 10px; transform: translateY(-200%); z-index: 99999; background:#fff; padding:12px 16px; }
.kg-skip:focus { transform:none; }

.kg-kicker { display:inline-flex; align-items:center; gap:12px; font-size:11px; line-height:1; letter-spacing:.17em; text-transform:uppercase; font-weight:700; color:#5b6057; }
.kg-kicker::before { content:""; width:28px; height:1px; background:currentColor; }
.kg-kicker--light { color:rgba(255,255,255,.7); }

.kg-button { min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:18px; border:1px solid transparent; font-size:13px; font-weight:700; letter-spacing:.03em; transition:.25s ease; }
.kg-button span { transition:transform .25s ease; }
.kg-button:hover span { transform:translate(3px,-3px); }
.kg-button--light { background:#f5f1e9; color:#11130f; }
.kg-button--light:hover { background:#fff; }
.kg-button--dark { background:#11130f; color:#fff; }
.kg-button--ghost { border-color:rgba(255,255,255,.35); color:#fff; }
.kg-button--ghost:hover { background:#fff; color:#11130f; }
.kg-text-link, .kg-link-arrow { display:inline-flex; gap:14px; align-items:center; font-size:13px; font-weight:700; }
.kg-text-link span, .kg-link-arrow span { transition:transform .25s ease; }
.kg-text-link:hover span, .kg-link-arrow:hover span { transform:translate(3px,-3px); }

.kg-header { position:fixed; inset:0 0 auto 0; z-index:1000; color:#fff; transition:background .3s ease, color .3s ease, transform .3s ease; }
.kg-header.is-scrolled { background:rgba(15,17,14,.94); backdrop-filter:blur(18px); box-shadow:0 1px 0 rgba(255,255,255,.08); }
.kg-header__top { border-bottom:1px solid rgba(255,255,255,.14); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.kg-header__top-inner { height:32px; display:flex; align-items:center; justify-content:space-between; color:rgba(255,255,255,.65); }
.kg-header__top-inner > div { display:flex; gap:26px; }
.kg-header__top-inner a { color:#fff; }
.kg-header__main { height:82px; display:grid; grid-template-columns:220px 1fr auto; align-items:center; gap:32px; }
.kg-brand { display:inline-flex; align-items:center; gap:12px; width:max-content; }
.kg-brand .custom-logo-link { display:block; }
.kg-brand .custom-logo { max-height:52px; width:auto; }
.kg-brand__mark { width:30px; height:34px; position:relative; display:block; }
.kg-brand__mark i { position:absolute; inset:auto; display:block; background:currentColor; }
.kg-brand__mark i:first-child { width:1px; height:31px; left:14px; top:0; }
.kg-brand__mark i:last-child { width:23px; height:1px; left:3px; top:12px; }
.kg-brand__text { display:flex; flex-direction:column; line-height:.9; }
.kg-brand__text strong { font:700 17px/1 var(--kg-serif); letter-spacing:.16em; }
.kg-brand__text em { font:500 11px/1.3 var(--kg-sans); font-style:normal; letter-spacing:.42em; margin-top:4px; color:rgba(255,255,255,.6); }
.kg-nav { justify-self:center; }
.kg-nav__list { list-style:none; display:flex; align-items:center; gap:34px; padding:0; margin:0; }
.kg-nav__list > li { position:relative; }
.kg-nav__list > li > a { display:block; padding:30px 0; font-size:12px; font-weight:600; color:rgba(255,255,255,.82); }
.kg-nav__list > li > a:hover, .kg-nav__list > .current-menu-item > a { color:#fff; }
.kg-nav .sub-menu { list-style:none; position:absolute; top:75px; left:-22px; min-width:290px; padding:14px; margin:0; background:#f4f0e8; color:#151713; opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; box-shadow:0 20px 60px rgba(0,0,0,.2); }
.kg-nav li:hover > .sub-menu { opacity:1; visibility:visible; transform:none; }
.kg-nav .sub-menu a { display:block; padding:11px 12px; font-size:12px; }
.kg-nav .sub-menu a:hover { background:#e8e3d9; }
.kg-header__cta { min-height:42px; padding:0 15px; display:inline-flex; align-items:center; gap:14px; border:1px solid rgba(255,255,255,.32); font-size:11px; font-weight:700; }
.kg-header__cta:hover { background:#fff; color:#11130f; }
.kg-menu-toggle { display:none; background:none; border:0; color:#fff; padding:0; }

.kg-hero { min-height:840px; height:100vh; max-height:980px; position:relative; display:flex; align-items:end; color:#fff; overflow:hidden; background:#11130f; }
.kg-hero__media, .kg-hero__shade { position:absolute; inset:0; }
.kg-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center 58%; filter:saturate(.6) contrast(1.03); }
.kg-hero__shade { background:linear-gradient(90deg, rgba(9,11,8,.82) 0%, rgba(9,11,8,.55) 45%, rgba(9,11,8,.15) 72%), linear-gradient(0deg, rgba(9,11,8,.68) 0%, transparent 48%); }
.kg-hero__content { position:relative; z-index:2; padding:0 0 88px; display:grid; grid-template-columns:minmax(0, 820px) 300px; justify-content:space-between; align-items:end; gap:80px; }
.kg-hero__copy h1 { margin:26px 0 24px; font:400 clamp(58px, 6.5vw, 104px)/.88 var(--kg-serif); letter-spacing:-.045em; max-width:900px; }
.kg-hero__copy h1 em { font-style:italic; font-weight:400; color:#d8d0c0; }
.kg-hero__copy p { max-width:650px; margin:0; font-size:18px; line-height:1.55; color:rgba(255,255,255,.78); }
.kg-hero__actions { display:flex; align-items:center; gap:28px; margin-top:34px; }
.kg-hero__aside { border-top:1px solid rgba(255,255,255,.35); padding-top:14px; }
.kg-hero__aside span { font:italic 28px/1 var(--kg-serif); color:#d8d0c0; }
.kg-hero__aside p { margin:18px 0 0; font-size:12px; line-height:1.7; color:rgba(255,255,255,.62); }
.kg-hero__index { position:absolute; right:20px; top:50%; z-index:2; writing-mode:vertical-rl; transform:translateY(-40%); font-size:9px; letter-spacing:.28em; color:rgba(255,255,255,.45); }

.kg-trustbar { background:#e6e0d4; border-bottom:1px solid var(--kg-line); }
.kg-trustbar__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.kg-trustbar__grid > div { min-height:92px; display:flex; align-items:center; gap:20px; border-right:1px solid var(--kg-line); }
.kg-trustbar__grid > div:first-child { border-left:1px solid var(--kg-line); }
.kg-trustbar b { font:italic 19px/1 var(--kg-serif); color:#7a776d; }
.kg-trustbar span { font-size:12px; font-weight:700; }

.kg-section { padding:140px 0; }
.kg-section-head { display:grid; grid-template-columns:minmax(0, 820px) minmax(260px, 390px); justify-content:space-between; align-items:end; gap:60px; margin-bottom:72px; }
.kg-section-head h2 { margin:20px 0 0; font:400 clamp(46px,5vw,78px)/.98 var(--kg-serif); letter-spacing:-.035em; }
.kg-section-head h2 em { font-style:italic; color:#77776d; }
.kg-section-head > p { margin:0 0 8px; color:var(--kg-muted); font-size:14px; line-height:1.8; }
.kg-section-head--compact { grid-template-columns:1fr; max-width:900px; }

.kg-service-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--kg-line); }
.kg-service-card { min-height:280px; padding:28px 30px; display:grid; grid-template-columns:56px 1fr auto; gap:26px; align-items:start; border-bottom:1px solid var(--kg-line); border-right:1px solid var(--kg-line); position:relative; overflow:hidden; transition:background .25s ease,color .25s ease; }
.kg-service-card:nth-child(even) { border-right:0; }
.kg-service-card::before { content:""; position:absolute; inset:0; background:#151813; transform:translateY(100%); transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.kg-service-card > * { position:relative; z-index:1; }
.kg-service-card:hover { color:#fff; }
.kg-service-card:hover::before { transform:none; }
.kg-service-card__number { font:italic 18px/1 var(--kg-serif); color:#8b8a80; }
.kg-service-card h3 { margin:0 0 18px; font:400 34px/1.05 var(--kg-serif); }
.kg-service-card p { margin:0; max-width:520px; font-size:13px; line-height:1.75; color:var(--kg-muted); transition:color .25s ease; }
.kg-service-card:hover p { color:rgba(255,255,255,.65); }
.kg-service-card__arrow { font-size:22px; transition:transform .25s ease; }
.kg-service-card:hover .kg-service-card__arrow { transform:translate(5px,-5px); }

.kg-editorial { display:grid; grid-template-columns:1.05fr .95fr; min-height:720px; background:#dbd5c9; }
.kg-editorial__media { min-height:720px; overflow:hidden; }
.kg-editorial__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.35) contrast(1.02); }
.kg-editorial__content { padding:110px clamp(50px,7vw,120px); display:flex; flex-direction:column; justify-content:center; }
.kg-editorial__content h2 { margin:24px 0 26px; font:400 clamp(44px,4.6vw,72px)/.98 var(--kg-serif); letter-spacing:-.035em; }
.kg-editorial__content h2 em { font-style:italic; color:#77776d; }
.kg-editorial__content > p { margin:0; max-width:650px; color:#5f625a; line-height:1.85; }
.kg-tick-list { list-style:none; padding:0; margin:36px 0; border-top:1px solid var(--kg-line); }
.kg-tick-list li { padding:14px 0; border-bottom:1px solid var(--kg-line); font-size:13px; }

.kg-process { background:#f6f3ed; }
.kg-process__grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--kg-line); border-left:1px solid var(--kg-line); }
.kg-process__grid li { min-height:310px; padding:28px; border-right:1px solid var(--kg-line); border-bottom:1px solid var(--kg-line); }
.kg-process__grid b { font:italic 20px/1 var(--kg-serif); color:#86857c; }
.kg-process__grid h3 { margin:90px 0 16px; font:400 26px/1.1 var(--kg-serif); }
.kg-process__grid p { margin:0; font-size:13px; line-height:1.7; color:var(--kg-muted); }

.kg-materials { background:#151813; color:#fff; padding:140px 0; }
.kg-materials__grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; align-items:center; }
.kg-materials__copy h2 { margin:22px 0 24px; font:400 clamp(48px,5vw,78px)/.98 var(--kg-serif); letter-spacing:-.04em; }
.kg-materials__copy h2 em { font-style:italic; color:#beb5a3; }
.kg-materials__copy p { margin:0 0 30px; max-width:560px; color:rgba(255,255,255,.64); line-height:1.8; }
.kg-materials__visuals { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:end; }
.kg-materials__visuals figure { margin:0; }
.kg-materials__visuals figure:first-child img { height:570px; }
.kg-materials__visuals figure:last-child img { height:430px; }
.kg-materials__visuals img { width:100%; object-fit:cover; filter:saturate(.45); }
.kg-materials__visuals figcaption { margin-top:10px; font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.5); }

.kg-project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.kg-project-card { display:block; }
.kg-project-card__image { aspect-ratio:4/5; overflow:hidden; background:#d5d0c6; }
.kg-project-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.kg-project-card:hover img { transform:scale(1.025); }
.kg-project-card__meta { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--kg-line); font-size:12px; }
.kg-project-card__meta span:last-child { color:var(--kg-muted); }
.kg-empty-portfolio { grid-column:1/-1; min-height:270px; border:1px solid var(--kg-line); padding:40px; display:grid; grid-template-columns:1fr 360px; gap:70px; align-items:end; background:#e9e4da; }
.kg-empty-portfolio span { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#77776e; }
.kg-empty-portfolio h3 { margin:18px 0 0; max-width:750px; font:400 42px/1.05 var(--kg-serif); }
.kg-empty-portfolio p { margin:0; font-size:13px; line-height:1.75; color:var(--kg-muted); }

.kg-seo-block { background:#d7d1c5; padding:130px 0; border-top:1px solid var(--kg-line); border-bottom:1px solid var(--kg-line); }
.kg-seo-block__grid { display:grid; grid-template-columns:300px minmax(0,800px); justify-content:space-between; gap:80px; }
.kg-seo-block aside { display:flex; flex-direction:column; gap:12px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#6d6d65; }
.kg-seo-block__line { width:100%; height:1px; background:var(--kg-line); margin:10px 0; }
.kg-seo-block article h2 { margin:0 0 28px; font:400 48px/1.05 var(--kg-serif); }
.kg-seo-block article p { margin:0 0 16px; font-size:15px; line-height:1.85; color:#4d5049; }

.kg-faq { background:#f4f1ea; }
.kg-faq__layout { display:grid; grid-template-columns:380px minmax(0,780px); justify-content:space-between; gap:80px; }
.kg-faq__layout h2 { margin:22px 0 20px; font:400 56px/1 var(--kg-serif); }
.kg-faq__layout h2 em { font-style:italic; color:#77776d; }
.kg-faq__layout > div:first-child > p { color:var(--kg-muted); line-height:1.75; }
.kg-accordion { border-top:1px solid var(--kg-line); }
.kg-accordion__item { border-bottom:1px solid var(--kg-line); }
.kg-accordion__item button { width:100%; padding:24px 0; background:none; border:0; display:flex; justify-content:space-between; align-items:center; gap:30px; text-align:left; color:var(--kg-ink); }
.kg-accordion__item button span { font:400 22px/1.2 var(--kg-serif); }
.kg-accordion__item button i { width:18px; height:18px; position:relative; flex:0 0 auto; }
.kg-accordion__item button i::before, .kg-accordion__item button i::after { content:""; position:absolute; left:0; top:8px; width:18px; height:1px; background:currentColor; transition:.2s ease; }
.kg-accordion__item button i::after { transform:rotate(90deg); }
.kg-accordion__item.is-open button i::after { transform:rotate(0); }
.kg-accordion__content { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.kg-accordion__content > p { overflow:hidden; margin:0; color:var(--kg-muted); font-size:13px; line-height:1.8; }
.kg-accordion__item.is-open .kg-accordion__content { grid-template-rows:1fr; }
.kg-accordion__item.is-open .kg-accordion__content > p { padding:0 48px 24px 0; }

.kg-inquiry { background:#11130f; color:#fff; padding:130px 0; }
.kg-inquiry__grid { display:grid; grid-template-columns:390px minmax(0,850px); justify-content:space-between; gap:80px; }
.kg-inquiry__intro h2 { margin:24px 0 22px; font:400 58px/.98 var(--kg-serif); }
.kg-inquiry__intro h2 em { font-style:italic; color:#c8bfad; }
.kg-inquiry__intro p { margin:0; color:rgba(255,255,255,.62); font-size:14px; line-height:1.8; }
.kg-inquiry__contact { margin-top:48px; padding-top:18px; border-top:1px solid rgba(255,255,255,.18); display:flex; flex-direction:column; gap:8px; }
.kg-inquiry__contact span { font-size:11px; color:rgba(255,255,255,.5); }
.kg-inquiry__contact a { font:400 28px/1 var(--kg-serif); }

.kg-form { color:#fff; }
.kg-form__success { margin-bottom:20px; padding:14px 16px; border:1px solid rgba(255,255,255,.26); background:rgba(255,255,255,.07); font-size:13px; }
.kg-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.kg-form label { display:block; }
.kg-form label > span { display:block; margin-bottom:8px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.48); }
.kg-form input:not([type=checkbox]):not([type=file]), .kg-form select, .kg-form textarea { width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.22); background:transparent; color:#fff; padding:11px 0 13px; outline:none; border-radius:0; }
.kg-form select { color:#fff; }
.kg-form select option { color:#111; }
.kg-form textarea { resize:vertical; min-height:95px; }
.kg-form input::placeholder, .kg-form textarea::placeholder { color:rgba(255,255,255,.32); }
.kg-form input:focus, .kg-form select:focus, .kg-form textarea:focus { border-color:#fff; }
.kg-form__grid > label { margin-bottom:26px; }
.kg-form__wide { grid-column:1/-1; }
.kg-upload { margin-top:4px; padding:20px 0; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); display:grid; grid-template-columns:1fr auto; gap:8px 22px; align-items:center; }
.kg-upload strong { display:block; font:400 18px/1.2 var(--kg-serif); }
.kg-upload div span { margin-top:7px; display:block; font-size:11px; color:rgba(255,255,255,.45); }
.kg-upload__button { grid-column:2; grid-row:1/3; border:1px solid rgba(255,255,255,.3); min-height:42px; display:flex!important; align-items:center; padding:0 15px; font-size:11px; font-weight:700; }
.kg-upload__button input { display:none; }
.kg-upload__status { font-size:10px; color:rgba(255,255,255,.45); }
.kg-form__footer { margin-top:24px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.kg-consent { display:flex!important; align-items:flex-start; gap:10px; max-width:490px; }
.kg-consent input { margin-top:2px; }
.kg-consent span { margin:0!important; text-transform:none!important; letter-spacing:0!important; line-height:1.5; }
.kg-hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.kg-footer { background:#0b0d0b; color:#fff; padding:95px 0 30px; }
.kg-footer__lead { display:flex; justify-content:space-between; align-items:end; gap:50px; padding-bottom:70px; border-bottom:1px solid rgba(255,255,255,.14); }
.kg-footer__lead h2 { margin:18px 0 0; font:400 66px/.93 var(--kg-serif); }
.kg-footer__grid { padding:58px 0; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:60px; }
.kg-footer__brand p { max-width:330px; margin:24px 0 0; color:rgba(255,255,255,.48); font-size:12px; line-height:1.7; }
.kg-brand--footer .kg-brand__text em { color:rgba(255,255,255,.5); }
.kg-footer__label { display:block; margin-bottom:18px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.42); }
.kg-footer ul { list-style:none; padding:0; margin:0; }
.kg-footer li { margin:10px 0; }
.kg-footer li a, .kg-footer__contact a, .kg-footer__contact > span:not(.kg-footer__label) { font-size:12px; color:rgba(255,255,255,.72); }
.kg-footer li a:hover, .kg-footer__contact a:hover { color:#fff; }
.kg-footer__contact { display:flex; flex-direction:column; gap:10px; }
.kg-footer__bottom { padding-top:20px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:30px; font-size:9px; line-height:1.5; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.34); }
.kg-mobile-bar { display:none; }

.kg-page-hero { position:relative; min-height:700px; color:#fff; display:flex; align-items:end; background:#11130f; }
.kg-page-hero__media, .kg-page-hero__shade { position:absolute; inset:0; }
.kg-page-hero__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.42); }
.kg-page-hero__shade { background:linear-gradient(90deg,rgba(10,12,9,.84),rgba(10,12,9,.42) 60%,rgba(10,12,9,.15)),linear-gradient(0deg,rgba(10,12,9,.64),transparent 55%); }
.kg-page-hero__content { position:relative; z-index:2; padding:180px 0 70px; }
.kg-breadcrumbs { display:flex; gap:8px; align-items:center; margin-bottom:42px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.5); }
.kg-breadcrumbs a:hover { color:#fff; }
.kg-page-hero h1 { max-width:950px; margin:20px 0; font:400 clamp(58px,6vw,96px)/.92 var(--kg-serif); letter-spacing:-.04em; }
.kg-page-hero p { max-width:700px; margin:0 0 30px; font-size:16px; line-height:1.7; color:rgba(255,255,255,.7); }
.kg-service-detail__grid { display:grid; grid-template-columns:230px minmax(0,850px); justify-content:space-between; gap:80px; }
.kg-service-detail__index { display:block; margin-top:28px; font:italic 22px/1 var(--kg-serif); color:#8a897f; }
.kg-service-detail h2 { margin:0 0 45px; font:400 52px/1.04 var(--kg-serif); }
.kg-feature-list { list-style:none; padding:0; margin:0; border-top:1px solid var(--kg-line); }
.kg-feature-list li { padding:17px 0; display:grid; grid-template-columns:28px 1fr; gap:16px; border-bottom:1px solid var(--kg-line); font-size:14px; }
.kg-feature-list li span { color:#858478; }
.kg-service-process { padding:120px 0; background:#151813; color:#fff; }
.kg-service-process ol { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); margin:60px 0 0; padding:0; border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.kg-service-process li { min-height:210px; padding:24px; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); display:flex; flex-direction:column; justify-content:space-between; }
.kg-service-process li b { font:italic 18px/1 var(--kg-serif); color:rgba(255,255,255,.45); }
.kg-service-process li span { font:400 25px/1.1 var(--kg-serif); }
.kg-related { padding:95px 0; background:#ddd7cc; }
.kg-related__grid { margin-top:30px; border-top:1px solid var(--kg-line); }
.kg-related__grid a { display:flex; justify-content:space-between; align-items:center; padding:21px 0; border-bottom:1px solid var(--kg-line); font:400 28px/1.1 var(--kg-serif); }
.kg-related__grid a b { font:400 18px/1 var(--kg-sans); transition:.2s; }
.kg-related__grid a:hover b { transform:translate(4px,-4px); }

.kg-simple-hero { padding:190px 0 90px; background:#dcd6ca; }
.kg-simple-hero .kg-breadcrumbs { color:#787a71; margin-bottom:34px; }
.kg-simple-hero h1 { margin:16px 0 0; max-width:980px; font:400 clamp(54px,6vw,90px)/.93 var(--kg-serif); letter-spacing:-.04em; }
.kg-simple-hero p { max-width:690px; margin:24px 0 0; color:#5f625a; line-height:1.75; }
.kg-prose__inner { max-width:900px; }
.kg-prose__inner h2 { font:400 42px/1.05 var(--kg-serif); margin:50px 0 20px; }
.kg-prose__inner p, .kg-prose__inner li { font-size:15px; line-height:1.9; color:#4d5049; }
.kg-contact-page { padding:90px 0 120px; background:#11130f; color:#fff; }
.kg-contact-page__grid { display:grid; grid-template-columns:320px 1fr; gap:90px; }
.kg-contact-card { display:flex; flex-direction:column; gap:10px; padding-top:10px; }
.kg-contact-card > span { margin-top:24px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.45); }
.kg-contact-card > span:first-child { margin-top:0; }
.kg-contact-card a, .kg-contact-card b { font:400 25px/1.2 var(--kg-serif); }
.kg-project-grid--archive { min-height:220px; }
.kg-project-single__hero { margin-top:70px; }
.kg-project-single__hero img { width:100%; max-height:820px; object-fit:cover; }
.kg-404 { min-height:70vh; display:flex; align-items:center; }

@media (max-width: 1180px) {
  :root { --kg-shell:min(100% - 40px, 1180px); }
  .kg-header__main { grid-template-columns:180px 1fr auto; gap:18px; }
  .kg-nav__list { gap:21px; }
  .kg-hero__content { grid-template-columns:1fr 250px; gap:50px; }
  .kg-materials__grid { grid-template-columns:1fr; }
  .kg-materials__copy { max-width:800px; }
  .kg-faq__layout, .kg-inquiry__grid { grid-template-columns:320px 1fr; gap:55px; }
}

@media (max-width: 980px) {
  :root { --kg-shell:calc(100vw - 36px); }
  .kg-header__top { display:none; }
  .kg-header__main { height:72px; grid-template-columns:1fr auto; }
  .kg-header__cta { display:none; }
  .kg-menu-toggle { display:grid; grid-template-columns:26px auto; grid-template-rows:1fr 1fr; column-gap:10px; align-items:center; }
  .kg-menu-toggle span { width:26px; height:1px; background:currentColor; transition:.25s ease; }
  .kg-menu-toggle span:first-child { align-self:end; margin-bottom:4px; }
  .kg-menu-toggle span:nth-child(2) { align-self:start; margin-top:4px; }
  .kg-menu-toggle b { grid-column:2; grid-row:1/3; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
  .kg-menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(5px) rotate(45deg); }
  .kg-menu-toggle[aria-expanded="true"] span:nth-child(2) { transform:translateY(-5px) rotate(-45deg); }
  .kg-nav { position:fixed; inset:72px 0 0 0; background:#11130f; padding:28px 18px 100px; opacity:0; visibility:hidden; transition:.25s ease; overflow:auto; }
  .kg-nav.is-open { opacity:1; visibility:visible; }
  .kg-nav__list { display:block; }
  .kg-nav__list > li { border-bottom:1px solid rgba(255,255,255,.12); }
  .kg-nav__list > li > a { padding:20px 0; font:400 31px/1 var(--kg-serif); }
  .kg-nav .sub-menu { position:static; opacity:1; visibility:visible; transform:none; min-width:0; box-shadow:none; background:transparent; color:rgba(255,255,255,.64); padding:0 0 15px 18px; }
  .kg-nav .sub-menu a { padding:8px 0; font-size:12px; }
  .kg-hero { min-height:760px; height:100svh; }
  .kg-hero__content { grid-template-columns:1fr; padding-bottom:52px; }
  .kg-hero__aside { display:none; }
  .kg-hero__copy h1 { font-size:clamp(55px,10vw,82px); }
  .kg-hero__copy p { max-width:580px; font-size:16px; }
  .kg-hero__index { display:none; }
  .kg-trustbar__grid { grid-template-columns:1fr 1fr; }
  .kg-trustbar__grid > div:nth-child(2) { border-right:0; }
  .kg-section { padding:100px 0; }
  .kg-section-head { grid-template-columns:1fr; margin-bottom:50px; gap:22px; }
  .kg-editorial { grid-template-columns:1fr; }
  .kg-editorial__media { min-height:550px; }
  .kg-editorial__content { padding:80px 28px; }
  .kg-process__grid { grid-template-columns:1fr 1fr; }
  .kg-project-grid { grid-template-columns:1fr 1fr; }
  .kg-seo-block__grid { grid-template-columns:1fr; gap:50px; }
  .kg-faq__layout, .kg-inquiry__grid, .kg-contact-page__grid { grid-template-columns:1fr; }
  .kg-inquiry__intro { max-width:680px; }
  .kg-footer__grid { grid-template-columns:1.5fr 1fr 1fr; }
  .kg-footer__contact { grid-column:2; }
  .kg-service-detail__grid { grid-template-columns:1fr; gap:35px; }
  .kg-service-process ol { grid-template-columns:1fr 1fr; }
}

@media (max-width: 680px) {
  :root { --kg-shell:calc(100vw - 28px); }
  body { padding-bottom:58px; }
  .kg-brand__text strong { font-size:15px; }
  .kg-brand__text em { font-size:9px; }
  .kg-brand__mark { width:26px; height:30px; }
  .kg-brand__mark i:first-child { left:12px; height:28px; }
  .kg-brand__mark i:last-child { left:2px; width:21px; }
  .kg-hero { min-height:690px; max-height:none; }
  .kg-hero__media img { object-position:58% 50%; }
  .kg-hero__shade { background:linear-gradient(90deg,rgba(8,10,7,.84),rgba(8,10,7,.28)),linear-gradient(0deg,rgba(8,10,7,.72),transparent 62%); }
  .kg-hero__content { padding-bottom:34px; }
  .kg-hero__copy h1 { margin:18px 0; font-size:48px; line-height:.92; }
  .kg-hero__copy p { font-size:14px; line-height:1.6; }
  .kg-hero__actions { margin-top:26px; gap:18px; flex-direction:column; align-items:flex-start; }
  .kg-button { min-height:50px; }
  .kg-trustbar__grid { grid-template-columns:1fr; }
  .kg-trustbar__grid > div { min-height:68px; border-right:0; border-left:1px solid var(--kg-line); }
  .kg-section { padding:78px 0; }
  .kg-section-head h2 { font-size:43px; }
  .kg-service-grid { grid-template-columns:1fr; }
  .kg-service-card, .kg-service-card:nth-child(even) { min-height:225px; border-right:0; grid-template-columns:42px 1fr auto; padding:22px 16px; gap:14px; }
  .kg-service-card h3 { font-size:28px; }
  .kg-service-card p { font-size:12px; }
  .kg-editorial__media { min-height:420px; }
  .kg-editorial__content { padding:65px 18px; }
  .kg-editorial__content h2 { font-size:43px; }
  .kg-process__grid { grid-template-columns:1fr; }
  .kg-process__grid li { min-height:210px; }
  .kg-process__grid h3 { margin-top:52px; }
  .kg-materials { padding:80px 0; }
  .kg-materials__grid { gap:50px; }
  .kg-materials__copy h2 { font-size:44px; }
  .kg-materials__visuals { grid-template-columns:1fr; }
  .kg-materials__visuals figure:first-child img, .kg-materials__visuals figure:last-child img { height:420px; }
  .kg-project-grid { grid-template-columns:1fr; }
  .kg-empty-portfolio { grid-template-columns:1fr; gap:25px; padding:24px; }
  .kg-empty-portfolio h3 { font-size:32px; }
  .kg-seo-block { padding:80px 0; }
  .kg-seo-block article h2 { font-size:38px; }
  .kg-faq__layout h2 { font-size:45px; }
  .kg-accordion__item button span { font-size:19px; }
  .kg-inquiry { padding:80px 0; }
  .kg-inquiry__grid { gap:50px; }
  .kg-inquiry__intro h2 { font-size:47px; }
  .kg-form__grid { grid-template-columns:1fr; }
  .kg-form__wide { grid-column:auto; }
  .kg-upload { grid-template-columns:1fr; }
  .kg-upload__button { grid-column:1; grid-row:auto; width:max-content; margin-top:10px; }
  .kg-form__footer { align-items:flex-start; flex-direction:column; }
  .kg-form__footer .kg-button { width:100%; }
  .kg-footer { padding-top:70px; }
  .kg-footer__lead { align-items:flex-start; flex-direction:column; padding-bottom:50px; }
  .kg-footer__lead h2 { font-size:50px; }
  .kg-footer__grid { grid-template-columns:1fr 1fr; gap:42px 25px; }
  .kg-footer__brand { grid-column:1/-1; }
  .kg-footer__contact { grid-column:1/-1; }
  .kg-footer__bottom { flex-direction:column; }
  .kg-mobile-bar { position:fixed; z-index:1200; inset:auto 0 0; height:58px; display:grid; grid-template-columns:.8fr 1.2fr; background:#0d0f0d; color:#fff; border-top:1px solid rgba(255,255,255,.15); }
  .kg-mobile-bar a { display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
  .kg-mobile-bar a:last-child { background:#e9e3d7; color:#11130f; }
  .kg-page-hero { min-height:650px; }
  .kg-page-hero__content { padding:140px 0 55px; }
  .kg-page-hero h1 { font-size:51px; }
  .kg-page-hero p { font-size:14px; }
  .kg-service-detail h2 { font-size:40px; }
  .kg-service-process { padding:80px 0; }
  .kg-service-process ol { grid-template-columns:1fr; }
  .kg-service-process li { min-height:150px; }
  .kg-related__grid a { font-size:22px; }
  .kg-simple-hero { padding:135px 0 70px; }
  .kg-simple-hero h1 { font-size:50px; }
  .kg-contact-page { padding:70px 0 90px; }
}
