/* ==========================================================================
   Figma-exact layer (desktop values measured from the 1440px Figma frames).
   Loaded after main.css – overrides the base look section by section.
   ========================================================================== */

:root {
	--f-conic-card: conic-gradient(from 181.06deg at 50% 50%, rgba(181, 171, 134, 0.16) 0deg, rgba(0, 0, 0, 0) 172.66deg, rgba(73, 68, 48, 0.55) 281.25deg, rgba(181, 171, 134, 0.16) 360deg);
	--f-conic-dark: conic-gradient(from 181.06deg at 50% 50%, rgba(65, 63, 55, 0.4) 0deg, rgba(0, 0, 0, 0) 172.66deg, #4D4B46 281.25deg, rgba(65, 63, 55, 0.4) 360deg);
	--f-conic-btn: conic-gradient(from 181.06deg at 50% 50%, rgba(21, 21, 21, 0.4) 0deg, rgba(232, 225, 200, 0.51) 45deg, rgba(21, 21, 21, 0) 281.25deg, rgba(21, 21, 21, 0.4) 360deg);
	--f-panel-bg: linear-gradient(90deg, #151515 3.01%, rgba(21, 21, 21, 0) 48.94%, #151515 94.88%), conic-gradient(from 181.07deg at 50% 50%, #413F37 0deg, rgba(0, 0, 0, 0) 172.66deg, #414141 281.27deg, #413F37 360deg), linear-gradient(180deg, #3E3E3E -3.58%, #4D4B46 111%), rgba(64, 63, 56, 0.5);
	--f-text-grad: linear-gradient(180deg, #FFFFFF 2.39%, rgba(255, 255, 255, 0.18) 91.52%);
	--f-text-grad-soft: linear-gradient(180deg, #FFFFFF 2.39%, rgba(255, 255, 255, 0.3) 91.52%);
	--f-header-h: 96px;
}

.f-clip-text { -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

/* ---------- Pills (Clash 24 / icon 26 / 54px) ---------- */
.f-pill {
	height: 54px; padding: 12px 24px; gap: 8px; margin-bottom: 49px;
	font-family: var(--f-display); font-weight: 500; font-size: 24px; line-height: 30px;
	background: conic-gradient(from 181.06deg at 50% 50%, rgba(181, 171, 134, 0.16) 0deg, rgba(0, 0, 0, 0) 172.66deg, rgba(181, 171, 134, 0.3) 281.25deg, rgba(181, 171, 134, 0.16) 360deg), rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}
.f-pill .f-pill__ico { font-size: 26px; color: #fff; }

/* ---------- Header ---------- */
.f-header { height: 96px; border-bottom: 1px solid rgba(255, 255, 255, .12); backdrop-filter: blur(26px); -webkit-backdrop-filter: blur(26px); }
.f-header.is-scrolled { --f-header-h: 96px; height: 96px; background: rgba(21, 21, 21, .55); }
.f-header .f-container.f-header__inner { max-width: 1440px; padding: 0 80px; }
.f-header__logo .f-logo, .f-header.is-scrolled .f-header__logo .f-logo { height: 60px; width: auto; max-width: 120px; object-fit: contain; }
.f-nav {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	padding: 12px 24px; height: 44px; border: 0; border-radius: 32px;
	background: linear-gradient(0deg, rgba(21, 21, 21, 0.64) 0.86%, rgba(59, 50, 25, 0.64) 99.14%);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.f-nav__list { gap: 28px; height: 20px; }
.f-nav__list a { padding: 0; font-family: var(--f-body); font-weight: 400; font-size: 14px; line-height: 20px; color: #DFDFDF; border-radius: 0; }
body.folio .f-nav__list a { color: #DFDFDF; }
body.folio .f-nav__list a:hover, body.folio .f-nav__list .is-active > a, body.folio .f-nav__list .current-menu-item > a { color: #fff; }
.f-nav__list .is-active > a::after, .f-nav__list .current-menu-item > a::after { bottom: -8px; width: 100%; left: 0; transform: none; background: linear-gradient(90deg, transparent, #fff, transparent); }
.f-nav__indicator { display: none; }
.f-btn--header {
	min-height: 44px; height: 44px; padding: 12px 20px; font-family: var(--f-ui); font-weight: 400; font-size: 14px;
	background: conic-gradient(from 181.07deg at 50% 50%, rgba(137, 132, 111, 0.7) 0deg, rgba(21, 21, 21, 0.5) 172.66deg, rgba(65, 65, 65, 0.14) 281.27deg, rgba(137, 132, 111, 0.7) 360deg);
	border-radius: 48px; box-shadow: none;
}
.f-btn--header::before { background: linear-gradient(180deg, rgba(255, 255, 255, .45), rgba(255, 255, 255, .08)); }

/* ---------- Hero (Home / About / Services) ---------- */
.f-hero { min-height: 943px; padding-bottom: 0; }
.f-hero__stage { padding-top: 232px; }
.f-hero__eyebrow {
	font-family: var(--f-body); font-weight: 200; font-size: 48px; line-height: 89px; margin: 0;
	background: linear-gradient(180deg, #FFFFFF 2.39%, rgba(255, 255, 255, 0.7) 91.52%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.f-hero__title { font-size: 88px; line-height: 89px; padding-bottom: 0; background: linear-gradient(180deg, #FFFFFF 2.39%, rgba(255, 255, 255, 0.28) 91.52%); -webkit-background-clip: text; background-clip: text; }
.f-hero__rule { width: 434px; height: 1px; margin: 14px auto 0; background: linear-gradient(270deg, rgba(21, 21, 21, 0) 0%, #D9D9D9 48.1%, rgba(21, 21, 21, 0) 100%); }
.f-hero__line {
	width: 698px; max-width: 100%; margin: 14px auto 0; font-family: var(--f-body); font-weight: 400; font-size: 32px; line-height: 49px; text-transform: capitalize;
	background: var(--f-text-grad-soft); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.f-hero__scroll {
	margin-top: 74px; width: 120px; height: 118px; border-radius: 175px; color: #fff;
	background: linear-gradient(180deg, rgba(255, 240, 182, 0.149) 0%, #151515 100%);
	border: 1.5px solid #FFFFFF;
	box-shadow: 0 0 60px rgba(254, 239, 182, .18);
}
.f-hero__scroll .f-hero__arrow { width: 40px; height: 70px; }
.f-hero__scroll-ring { inset: -12px; border-color: rgba(254, 239, 182, .2); }
.f-hero__arc { bottom: 59px; }
.f-hero__arc-fill { background: radial-gradient(60% 40% at 50% 100%, #1c1c1c 0%, #171717 55%, #151515 100%); }
.f-hero__arc-line { border-width: 3px; border-bottom-color: #FFF0B6; }
.f-hero__arc-line::after { border-bottom-color: rgba(255, 240, 182, .6); }
.f-hero__spot { bottom: -300px; height: 710px; width: min(1700px, 140vw); background: radial-gradient(closest-side, rgba(235, 228, 202, 0.42), rgba(235, 228, 202, 0.14) 50%, rgba(21, 21, 21, 0) 100%); }
.f-hero__logos { margin-top: 42px; padding: 20px 80px; max-width: 1440px; height: 80px; gap: 45px; }
.f-hero__logo { height: 40px; flex: 0 1 auto; }
.f-hero__logo img { height: 40px; max-height: 40px; width: auto; }
/* compact heroes */
.f-hero--compact { min-height: 943px; padding-bottom: 80px; }
.f-hero--compact .f-hero__stage { padding-top: 211px; }
.f-hero--compact .f-hero__title { font-size: 90px; line-height: 89px; }
.f-hero--compact .f-hero__line { margin-top: 30px; }
.f-hero--noeyebrow .f-hero__stage { padding-top: 300px; }
.f-hero--noeyebrow .f-hero__line { font-size: 48px; line-height: 59px; width: 1100px; margin-top: 40px; }
.f-hero--compact .f-hero__scroll { margin-top: 64px; }
.f-hero--noeyebrow .f-hero__scroll { margin-top: 70px; }
.f-hero--compact::after { display: none; }
.f-hero__btn-wrap { margin-top: 90px; }
.f-btn--hero {
	min-height: 64px; height: 64px; padding: 0 60px; min-width: 352px;
	font-family: var(--f-display); font-weight: 500; font-size: 32px; letter-spacing: 0;
	background: conic-gradient(from 181.06deg at 50% 50%, rgba(21, 21, 21, 0.4) 0deg, rgba(232, 225, 200, 0.28) 45deg, rgba(21, 21, 21, 0) 281.25deg, rgba(21, 21, 21, 0.4) 360deg), #1b1a17;
	border-radius: 54px; box-shadow: 0 0 40px rgba(181, 171, 134, .15);
}
.f-btn--hero::before { background: linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(181, 171, 134, .15)); }

/* ---------- About intro + tree ---------- */
.f-intro { padding: 125px 0 214px; overflow: hidden; }
.f-intro .f-pill { margin-bottom: 49px; }
.f-intro .f-intro__head { margin-bottom: 68px; }
.f-intro__title { font-size: 70px; line-height: 79px; max-width: 1097px; background: none; -webkit-text-fill-color: initial; color: inherit; }
.f-intro__title .f-grad { background: linear-gradient(180deg, #FFFFFF 0%, #303030 196.05%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.f-intro__title .f-grad + .f-grad { background: linear-gradient(180deg, #d0d0d0 -60%, #3a3a3a 160%); -webkit-background-clip: text; background-clip: text; }
.f-intro__card {
	position: relative; max-width: 1151px; min-height: 375px; padding: 53px 52px 48px; border-radius: 90px;
	background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none;
}
.f-intro__outline {
	position: absolute; inset: 0; border-radius: inherit; padding: 2px; pointer-events: none;
	background: linear-gradient(90deg, rgba(247, 233, 177, 0.16) 0.09%, rgba(255, 255, 255, 0.69) 24.54%, rgba(255, 255, 255, 0.24) 83.16%, rgba(247, 233, 177, 0.16) 97.91%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
}
.f-intro__card-title { font-family: var(--f-body); font-weight: 300; font-size: 46px; line-height: 45px; margin-bottom: 26px; }
.f-intro__card p { font-family: var(--f-body); font-weight: 300; font-size: 23px; line-height: 32px; letter-spacing: .012em; color: #fff; }
.f-tree-fit { position: relative; margin-top: 64px; }
.f-tree-fit > .f-tree { position: relative; }
.f-tree { width: 1300px; max-width: none; height: 635px; margin: 0; }
.f-tree__lines { position: absolute; inset: 0; width: 1300px; height: 635px; }
.f-tree__center { left: 577px; top: 0; width: 145px; height: 144px; margin: 0; display: block; }
.f-tree__ring { position: absolute; border-radius: 50%; border: 1px solid rgba(181, 171, 134, .28); }
.f-tree__ring--1 { inset: 0; }
.f-tree__ring--2 { inset: 4.6px; border-color: rgba(181, 171, 134, .38); }
.f-tree__ring--3 { inset: 9.3px; border-color: rgba(181, 171, 134, .5); }
.f-tree__halo { inset: -30px; z-index: 0; }
.f-tree__core {
	position: absolute; left: 17px; top: 17px; width: 111px; height: 110px; border-radius: 50%; z-index: 2;
	display: grid; place-items: center;
	background: linear-gradient(180deg, #494430 0%, #B5AB86 100%); border: 1.4px solid #B5AB86;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .45);
}
.f-tree__core .f-tree__b, .f-tree__core img { width: 66px; height: 66px; }
.f-tree__center .f-mark { display: none; }
.f-tree .f-feature {
	position: absolute; margin: 0; width: 374.83px; height: 142px; min-height: 0; padding: 80px 40px 30px;
	display: block; text-align: center; border-radius: 24px;
	background: var(--f-conic-card), rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, .12);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.f-tree .f-feature--1 { left: 0; top: 249px; }
.f-tree .f-feature--2 { left: 462px; top: 249px; }
.f-tree .f-feature--3 { left: 925.17px; top: 249px; }
.f-tree .f-feature--4 { left: 225px; top: 461.5px; height: 174px; }
.f-tree .f-feature--5 { left: 701px; top: 461.5px; height: 174px; }
.f-tree .f-feature:nth-child(n+8) { display: none; }
.f-tree .f-feature h4 { font-family: var(--f-body); font-weight: 400; font-size: 30px; line-height: 32px; text-transform: capitalize; }
.f-tree .f-feature__icon { top: -37.5px; left: 50%; margin-left: -38px; width: 76.28px; height: 75.64px; background: linear-gradient(180deg, #494430 0%, #B5AB86 100%); border: 1px solid #B5AB86; box-shadow: 0 10px 25px rgba(0, 0, 0, .35); }
.f-tree .f-feature__icon .f-ico { font-size: 40px; }
.f-tree .f-feature__spark { top: 32px; }
.f-tree .f-feature__spark .f-ico { font-size: 12.78px; }
.f-tree .f-feature__spark--l { left: 40px; }
.f-tree .f-feature__spark--r { right: 40px; }
.f-intro--about .f-intro__title .f-grad { background: linear-gradient(180deg, #FFFFFF 0%, #070322 196.05%); -webkit-background-clip: text; background-clip: text; }
.f-intro--about .f-tree .f-feature { background: conic-gradient(from 181.07deg at 50% 50%, rgba(71, 70, 75, 0.4) 0deg, rgba(0, 0, 0, 0) 172.66deg, #38362E 281.27deg, rgba(71, 70, 75, 0.4) 360deg), linear-gradient(90deg, #1C1B1A -0.09%, #3C3931 99.91%), rgba(22, 22, 22, 0.5); }
.f-intro--about .f-tree .f-feature--2 { background: conic-gradient(from 181.07deg at 50% 50%, #4F4A37 0deg, rgba(0, 0, 0, 0) 172.66deg, #4C4A43 281.27deg, #4F4A37 360deg), linear-gradient(180deg, #151515 -3.58%, #433F36 111%), rgba(48, 48, 48, 0.5); }
.f-intro--about .f-tree .f-feature__icon, .f-intro--about .f-tree__core { background: linear-gradient(180deg, #EBE4CA 0%, #B5AB86 100%); }
.f-intro--about .f-tree .f-feature__icon .f-ico, .f-intro--about .f-tree__b path { color: #fff; }
.f-intro--about { padding-top: 208px; }
.f-intro--about .f-intro__head { margin-bottom: 67px; }

/* ---------- Awards ---------- */
.f-awards { padding: 0 0 214px; }
.f-awards__box {
	max-width: 1190px; height: 216px; min-height: 216px; padding: 0; gap: 0; border-radius: 24px;
	background: transparent; box-shadow: none; backdrop-filter: blur(50px); -webkit-backdrop-filter: blur(50px);
	align-items: stretch;
}
.f-awards__box::after { display: none; }
.f-awards__left { flex: 0 0 377px; display: flex; align-items: center; padding: 16px 24px 16px 40px; border-radius: 24px 0 0 24px; background: linear-gradient(90deg, rgba(181, 171, 134, 0.1) 0%, rgba(181, 171, 134, 0.2) 95.81%); }
.f-awards__title { font-size: 32px; line-height: 33px; max-width: 313px; }
.f-awards__divider { margin: 16px 0; width: 1px; flex: none; background: rgba(255, 255, 255, .6); }
.f-awards__list { flex: 1; padding: 16px 92px 16px 44px; gap: 9px; border-radius: 0 24px 24px 0; background: linear-gradient(90deg, rgba(181, 171, 134, 0.2) 0%, rgba(181, 171, 134, 0.1) 100%); justify-content: space-between; }
.f-awards__item { flex: 0 0 auto; }
.f-awards__item img { width: 110px; max-width: 110px; height: 110px; object-fit: contain; }

/* ---------- Services carousel ---------- */
.f-svc { padding: 0 0 140px; }
.f-svc .f-svc__head { margin-bottom: 154px; }
.f-svc__title { font-family: var(--f-display); font-weight: 500; font-size: 70px; line-height: 64px; background: linear-gradient(180deg, #FFFFFF 0%, #8f8da0 140%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.f-svc__sub { font-family: var(--f-body); font-weight: 300; font-size: 44px; line-height: 50px; margin: 6px 0 0; background: linear-gradient(180deg, #b9b9c0 0%, #3f3d55 120%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.f-cflow-fit { position: relative; }
.f-cflow-fit > .f-cflow { position: relative; }
.f-cflow { width: 1300px; max-width: none; height: 533px; margin: 0; }
.f-cflow__stage { position: absolute; left: 125px; top: 0; width: 1042px; height: 533px; perspective: none; filter: drop-shadow(0 4px 100px #303030); }
.f-cflow__card { left: 0; top: 0; width: 334px; height: 533px; margin: 0; cursor: pointer; transform-style: flat; }
.f-cflow__ghost {
	position: absolute; left: 0; top: 0; width: 334px; height: 379px; border-radius: 24px; opacity: .5;
	background: var(--f-conic-dark), linear-gradient(90deg, #3C3931 -0.09%, #3C3931 99.91%), rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.2);
}
.f-cflow__frame { display: none; }
.f-cflow__panel, .f-cflow__card.is-active .f-cflow__panel {
	left: 0; top: 0; bottom: auto; width: 334px; height: 379px; padding: 50px 29px 0; border-radius: 24px;
	background: var(--f-conic-dark), #494430;
	border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	backdrop-filter: none; -webkit-backdrop-filter: none; transition: background .6s;
}
.f-cflow__card.is-active .f-cflow__panel { background: var(--f-conic-dark), #3C3931; padding-top: 40px; }
.f-cflow__panel h3 { font-family: var(--f-body); font-weight: 400; font-size: 30px; line-height: 30px; margin-bottom: 13px; }
.f-cflow__panel p { font-family: var(--f-body); font-weight: 400; font-size: 17px; line-height: 25px; max-width: 210px; margin: 0; }
.f-cflow__panel .f-link-pill { position: absolute; left: 29px; top: 315px; margin: 0; }
.f-cflow__blob { right: -48px; bottom: -66px; width: 236px; filter: none; }
.f-cflow__nav, .f-cflow__nav:hover {
	position: absolute; top: 230px; width: 80px; height: 80px; border-radius: 99px; display: grid; place-items: center; color: #fff;
	background: var(--f-conic-dark), rgba(255, 255, 255, 0.1); border: 0; transform: none; z-index: 20;
}
.f-cflow__nav .f-ico { font-size: 40px; }
.f-cflow__nav--prev { left: 0; opacity: .5; }
.f-cflow__nav--prev:hover { opacity: 1; }
.f-cflow__nav--next { right: 0; }
.f-link-pill {
	height: 28px; padding: 8px 16px; gap: 24px; font-family: var(--f-ui); font-weight: 500; font-size: 14px; line-height: 12px; color: #fff;
	background: var(--f-conic-dark), rgba(16, 16, 16, 0.2); border: 1px solid #FFFFFF; border-radius: 99px;
}
.f-link-pill__line { display: block; width: 40px; height: 1px; background: #fff; transition: width .4s var(--f-ease); }
.f-link-pill:hover .f-link-pill__line { width: 52px; background: #151515; }
.f-dots { gap: 4px; margin-top: 60px; }
.f-dots__dot, .f-dots__dot.is-active { height: 5px; width: 40px; }
.f-dots__dot.is-active { width: 100px; }
.f-dots__dot span { height: 5px; border-radius: 99px; background: rgba(255, 255, 255, 0.15); }
.f-dots__dot.is-active span { background: #fff; }

/* ---------- Our Work ---------- */
.f-work { padding: 0 0 100px; }
.f-work__rings { top: 113px; width: 1216px; height: 1216px; margin-left: -612px; }
.f-work__rings span { border-color: #B5AB86; box-shadow: 0 0 40px rgba(181, 171, 134, .15) inset, 0 0 40px rgba(181, 171, 134, .12); }
.f-work__rings span:nth-child(2) { inset: 124px 112px 124px 112px; border-color: rgba(181, 171, 134, .55); }
.f-work__rings span:nth-child(3) { inset: 235px 250px 228px 250px; border-color: rgba(181, 171, 134, .35); }
.f-work__rings span:nth-child(4) { display: none; }
.f-work::before { content: ""; position: absolute; left: 0; right: 0; top: 230px; height: 123px; background: #151515; filter: blur(75px); z-index: 0; pointer-events: none; }
.f-work .f-container { z-index: 1; }
.f-work .f-head.f-head--center { margin-bottom: 64px; }
.f-work .f-pill { margin-bottom: 87px; background: conic-gradient(from 181.06deg at 50% 50%, rgba(181, 171, 134, 0.2) 0deg, rgba(0, 0, 0, 0) 172.66deg, #494430 281.25deg, rgba(181, 171, 134, 0.2) 360deg), rgba(255, 255, 255, 0.05); }
.f-work__pre { font-size: 36px; line-height: 40px; background: linear-gradient(360deg, #FFFFFF 23.41%, #303030 132.54%); -webkit-background-clip: text; background-clip: text; }
.f-work__title { font-family: var(--f-display); font-size: 56px; line-height: 64px; }
.f-tabs { gap: 15px; margin-bottom: 90px; }
.f-tabs__tab { min-width: 0; height: 50px; padding: 16px 60px; font-size: 18px; line-height: 18px; border: 1px solid #B5AB86; background: transparent; border-radius: 54px; overflow: visible; }
.f-tabs__tab.is-active { border-color: transparent; background: conic-gradient(from 181.06deg at 50% 50%, rgba(181, 171, 134, 0.4) 0deg, #151515 45deg, rgba(181, 171, 134, 0) 281.25deg, rgba(181, 171, 134, 0.4) 360deg); }
.f-tabs__tab::after { left: 10%; right: 10%; bottom: -10px; height: 24px; }
.f-work__grid-wrap { max-width: 1167px; }
.f-work__grid { grid-template-columns: repeat(4, 231px); gap: 97px 81px; justify-content: center; }
.f-work__grid.is-clipped { max-height: 790px; -webkit-mask: linear-gradient(180deg, #000 0%, #000 76%, rgba(0, 0, 0, .3) 88%, transparent 100%); mask: linear-gradient(180deg, #000 0%, #000 76%, rgba(0, 0, 0, .3) 88%, transparent 100%); }
.f-book { position: relative; }
.f-book::before { content: ""; position: absolute; left: 9px; top: 7px; width: 213px; height: 324px; background: rgba(181, 171, 134, 0.7); filter: blur(40px); z-index: 0; pointer-events: none; }
.f-book__frame { position: relative; z-index: 1; width: 231px; height: 338px; padding: 9px 17.5px 5px; border-radius: 30px; border: 0; background: linear-gradient(180deg, #161616 -74.11%, #3C3931 110.5%); box-shadow: none; display: flex; flex-direction: column; align-items: center; gap: 11px; }
.f-book:hover .f-book__frame { box-shadow: 0 0 50px rgba(254, 239, 182, .25); }
.f-book__cover { width: 196px; height: 288px; aspect-ratio: auto; border-radius: 25px; flex: none; }
.f-book__name { padding: 0; font-size: 16px; line-height: 18px; color: #fff; }
.f-work__more { margin-top: -74px; }
.f-work__more .f-btn { min-width: 208px; min-height: 50px; height: 50px; padding: 16px 60px; font-family: var(--f-body); font-size: 18px; background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), conic-gradient(from 181.06deg at 50% 50%, rgba(181, 171, 134, 0.4) 0deg, #151515 45deg, rgba(181, 171, 134, 0) 281.25deg, rgba(181, 171, 134, 0.4) 360deg); border-radius: 54px; }

/* ---------- Testimonials ---------- */
.f-reviews { padding: 0 0 150px; }
.f-reviews__map { top: 136px; height: 966px; left: 50%; right: auto; width: 2416px; margin-left: -1048px; background-size: 2416px auto; background-position: 0 0; opacity: .6; -webkit-mask: linear-gradient(180deg, transparent 0%, #000 22%, #000 60%, transparent 92%); mask: linear-gradient(180deg, transparent 0%, #000 22%, #000 60%, transparent 92%); }
.f-reviews .f-head { margin-bottom: 120px; }
.f-reviews .f-title { font-size: 64px; line-height: 60px; background: none; -webkit-text-fill-color: initial; }
.f-reviews .f-title .f-grad { background: linear-gradient(180deg, #FFFFFF 0%, #303030 126.61%); -webkit-background-clip: text; background-clip: text; }
.f-reviews .f-subtitle--sm { font-size: 30px; line-height: 40px; margin-top: 6px; }
.f-reviews .f-pill { margin: 40px 0 0; }
.f-tcar__track { height: 335px; }
.f-tcard {
	width: 700px; min-height: 335px; height: 335px; margin-left: -350px; padding: 40px; gap: 0; border-radius: 24px;
	background: linear-gradient(180deg, #1D1D1D 0%, #494430 154.48%), rgba(28, 27, 26, 0.5);
	border: 1px solid transparent;
	box-shadow: 0 0 100px rgba(181, 171, 134, 0.46);
	backdrop-filter: blur(100px); -webkit-backdrop-filter: blur(100px);
}
.f-tcard > * { opacity: .5; transition: opacity .6s; }
.f-tcard.is-active { border-color: rgba(255, 255, 255, .55); background: conic-gradient(from 181.06deg at 50% 50%, rgba(73, 68, 48, 0.4) 0deg, rgba(0, 0, 0, 0) 172.66deg, #494430 281.25deg, rgba(73, 68, 48, 0.4) 360deg), linear-gradient(180deg, #1D1D1D -3.58%, #494430 111.04%), rgba(73, 68, 48, 0.5); }
.f-tcard.is-active > * { opacity: 1; }
.f-tcard__name { font-size: 40px; line-height: 40px; margin-bottom: 20px; }
.f-tcard__text { font-size: 17px; line-height: 25px; max-width: 620px; margin: 0; }
.f-tcard__rule { width: 248px; margin: 34px 0 0; }
.f-tcard .f-stars { margin-top: 14px; height: 60px; gap: 2px; }
.f-tcard .f-star .f-ico { font-size: 36px; }
.f-tcard .f-star.is-mid .f-ico { font-size: 46px; }
.f-tcard .f-star.is-big .f-ico { font-size: 62px; }
.f-reviews .f-dots { margin-top: 110px; }

/* ---------- Contact ---------- */
.f-contact { padding: 0 0 140px; }
.f-contact::before, .f-contact::after { content: ""; position: absolute; border-radius: 50%; background: #4A4840; filter: blur(100px); opacity: .7; pointer-events: none; }
.f-contact::before { width: 688px; height: 688px; left: -315px; top: 338px; }
.f-contact::after { width: 373px; height: 373px; right: -90px; top: 71px; }
.f-contact .f-container { z-index: 1; }
.f-contact__title { font-size: 64px; line-height: 64px; margin-bottom: 92px; background: none; -webkit-text-fill-color: initial; }
.f-contact__title .f-grad { background: linear-gradient(150.94deg, #FFFFFF 27.34%, #303030 113.47%); -webkit-background-clip: text; background-clip: text; }
.f-contact__card { max-width: 1296px; min-height: 671px; margin: 0 auto; padding: 72px 0 50px; border-radius: 35px; border: 0; box-shadow: none; background: none; position: relative; isolation: isolate; }
.f-contact__card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: -1; background: linear-gradient(0deg, rgba(181, 171, 134, 0.1) 0%, rgba(181, 171, 134, 0.2) 95.81%); opacity: .55; box-shadow: 4px 4px 20px 48px rgba(0, 0, 0, 0.65); backdrop-filter: blur(50px); -webkit-backdrop-filter: blur(50px); }
.f-contact__card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: -2; background: #B5AB86; filter: blur(50px); opacity: .1; }
.f-contact__card-title { font-size: 36px; line-height: 25px; border: 0; padding-bottom: 0; margin: 0 auto 30px; position: relative; }
.f-contact__card-title::after { content: ""; position: absolute; left: 50%; bottom: -24px; width: 449px; height: 2px; margin-left: -224.5px; background: linear-gradient(90deg, #151515 0%, #FFFFFF 50%, #151515 100%); }
.f-contact__grid { grid-template-columns: 536px 552px; gap: 102px; justify-content: start; padding-left: 36px; align-items: start; margin-top: 32px; }
.f-contact__art img { width: 536px; max-width: 536px; height: 536px; object-fit: contain; transform: scaleX(-1); }
.f-contact .f-form { padding-top: 37px; }
.f-contact .f-form__grid { grid-template-columns: 252px 252px; gap: 0 47px; }
.f-contact .f-field { font-size: 17px; line-height: 25px; color: #fff; gap: 11px; margin-bottom: 22px; }
.f-contact .f-field input { height: 42px; min-height: 42px; border-radius: 30px; border: 1px solid rgba(235, 228, 202, .55); background: rgba(21, 21, 21, .25); }
.f-contact .f-field textarea { height: 149px; border-radius: 20px; border: 1px solid rgba(235, 228, 202, .55); background: rgba(21, 21, 21, .25); }
.f-contact .f-submit { margin-top: 12px; height: 42px; font-family: var(--f-body); font-size: 17px; border-color: rgba(235, 228, 202, .55); background: rgba(21, 21, 21, .3); }

/* ---------- FAQ ---------- */
.f-faq { padding: 0 0 230px; }
.f-faq__title { font-size: 60px; line-height: 74px; margin-bottom: 100px; background: none; -webkit-text-fill-color: initial; }
.f-faq__title .f-grad { background: linear-gradient(180deg, #FFFFFF 0%, #303030 139.86%); -webkit-background-clip: text; background-clip: text; }
.f-acc { gap: 20px; }
.f-acc__item { position: relative; border-radius: 24px; background: #151515; border: 1px solid rgba(255, 255, 255, 0.1); }
.f-acc__item.is-open { background: #151515; border-color: rgba(255, 255, 255, .1); box-shadow: none; }
.f-acc__item::after { content: ""; position: absolute; right: 0; top: 0; width: 561px; height: 100%; border-radius: 24px; background: linear-gradient(309.5deg, rgba(181, 171, 134, 0.25) 15.21%, rgba(181, 171, 134, 0.125) 36.7%, rgba(181, 171, 134, 0) 48.93%); opacity: 0; transition: opacity .5s; pointer-events: none; }
.f-acc__item.is-open::after { opacity: 1; }
.f-acc__q { position: relative; z-index: 1; padding: 40px; font-size: 32px; line-height: 110%; letter-spacing: -0.02em; text-transform: capitalize; }
.f-acc__icon { width: 26px; height: 26px; transform: none !important; }
.f-acc__icon .f-ico, .f-acc__icon svg { width: 26px; height: 26px; font-size: 26px; }
.f-acc__open { display: none; }
.f-acc__item.is-open .f-acc__open { display: block; }
.f-acc__item.is-open .f-acc__closed { display: none; }
.f-acc__a { position: relative; z-index: 1; }
.f-acc__a-inner { padding: 0 40px 40px; margin-top: 0; font-size: 20px; line-height: 150%; color: rgba(255, 255, 255, .6); }

/* ---------- Footer ---------- */
.f-footer { padding-top: 140px; overflow: hidden; }
.f-footer__fx { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.f-footer__glow { position: absolute; border-radius: 50%; }
.f-footer__glow--1 { left: 50%; width: 1440px; height: 491px; margin-left: -720px; top: 116px; background: #B5AB86; filter: blur(64px); opacity: .5; }
.f-footer__glow--2 { left: 50%; width: 1336px; height: 483px; margin-left: -676px; top: 133px; background: rgba(181, 171, 134, 0.65); filter: blur(93px); }
.f-footer__glow--3 { left: 50%; width: 2888px; height: 445px; margin-left: -1444px; top: 116px; background: rgba(181, 171, 134, .35); filter: blur(58px); }
.f-footer__dome { position: absolute; left: 50%; width: 3210px; height: 2126px; margin-left: -1605px; top: calc(140px + 326px - 2126px); border-radius: 50%; background: #151515; }
.f-footer__top { display: grid; grid-template-columns: 220px 259px 454px; column-gap: 183px; justify-content: space-between; max-width: 1380px; }
.f-footer__brand { display: flex; flex-direction: column; gap: 12px; }
.f-footer__logo .f-logo { height: 60px; width: auto; max-width: 85px; object-fit: contain; margin: 0; }
.f-footer__brand p { font-size: 12px; line-height: 16px; color: rgba(255, 255, 255, 0.6); margin: 0; }
.f-footer__links { display: flex; justify-content: space-between; }
.f-footer__col h4 { font-family: var(--f-display); font-weight: 700; font-size: 14px; line-height: 17px; letter-spacing: 0; margin-bottom: 24px; }
.f-footer__menu { gap: 12px; opacity: .6; }
.f-footer__menu a, body.folio .f-footer__menu a { font-family: var(--f-ui); font-size: 14px; line-height: 19px; color: #fff; }
.f-footer__news { display: flex; flex-direction: column; gap: 40px; }
.f-footer__join { font-family: var(--f-body); font-weight: 200; font-size: 24px; line-height: 100%; max-width: 273px; margin: 0; background: linear-gradient(180deg, #fff 40%, rgba(255, 255, 255, .45) 100%); -webkit-background-clip: text; background-clip: text; }
.f-newsletter { height: 54px; max-width: 454px; padding: 0 0 0 20px; border: 1px solid #B5AB86; border-radius: 99px; background: transparent; flex-wrap: nowrap; }
.f-newsletter input { padding: 0; font-family: var(--f-ui); font-weight: 500; font-size: 18px; color: #fff; }
.f-newsletter input::placeholder { color: #fff; opacity: 1; }
.f-newsletter__btn { flex: none; width: 183px; height: 54px; margin: -1px -1px -1px 0; padding: 16px 0; border-radius: 54px; font-family: var(--f-display); font-weight: 500; font-size: 18px; line-height: 22px; background: conic-gradient(from 181.07deg at 50% 50%, #1D1D1D 0deg, #494430 45deg, #2F2F2F 281.27deg, #1D1D1D 360deg); box-shadow: 0 0 30px rgba(181, 171, 134, .18); }
.f-social { margin: 0; gap: 12px; }
.f-social a { width: 32px; height: 32px; opacity: .67; }
.f-social a .f-ico { font-size: 32px; }
.f-footer__arc { display: none; }
.f-footer__bottom { position: relative; z-index: 2; margin-top: 202px; padding: 0 20px 79px; font-family: var(--f-body); font-size: 20px; line-height: 27px; color: #fff; }
.f-footer__bottom p { margin: 0; }
.f-footer__legal span { margin: 0 4px; }
.f-footer__top { position: relative; z-index: 2; }

/* ---------- Grid floor (above footer) ---------- */

/* ---------- Who we are (About) ---------- */
.f-who { padding: 0; background: transparent; overflow: visible; z-index: 2; }
.f-who__panel {
	position: relative; left: 50%; width: 1561px; margin-left: -780.5px; min-height: 513px; padding: 55px 40px 105px; border-radius: 24px;
	background: linear-gradient(90deg, #151515 3.01%, rgba(21, 21, 21, 0) 48.94%, #151515 94.88%), conic-gradient(from 181.07deg at 50% 50%, #413F37 0deg, rgba(0, 0, 0, 0) 172.66deg, #414141 281.27deg, #413F37 360deg), linear-gradient(180deg, #3E3E3E -3.58%, #4D4B46 111%), rgba(64, 63, 56, 0.5);
	box-shadow: 0 0 100px #716B54;
}
.f-main { overflow-x: clip; }
.f-who__inner { max-width: 1481px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; }
.f-who__title { font-family: var(--f-display); font-weight: 500; font-size: 70px; line-height: 86px; text-transform: uppercase; margin: 0; background: linear-gradient(186.68deg, #FFFFFF 21.51%, #544D4D 98.02%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.f-who__line { display: block; width: 311px; height: 2px; background: #B5AB86; margin: 9px 0 9px; }
.f-who__text { max-width: 1047px; }
.f-who__text p { font-family: var(--f-body); font-size: 24px; line-height: 32px; color: #fff; margin: 0 0 32px; }
.f-who__text p:last-child { margin: 0; }

/* ---------- Service rows (Services page) ---------- */
.f-rows { padding: 90px 0 120px; }
.f-rows::before { content: ""; position: absolute; inset: 0; background: url("../images/placeholders/wave-dots.png") center top / 1600px auto repeat-y; opacity: .5; mix-blend-mode: luminosity; -webkit-mask: linear-gradient(180deg, transparent 0%, #000 8%, rgba(0, 0, 0, .25) 30%, rgba(0, 0, 0, .25) 70%, #000 92%, transparent 100%); mask: linear-gradient(180deg, transparent 0%, #000 8%, rgba(0, 0, 0, .25) 30%, rgba(0, 0, 0, .25) 70%, #000 92%, transparent 100%); pointer-events: none; }
.f-rows .f-container { max-width: 1193px; padding: 0; }
.f-row, .f-row--rev { display: block; position: relative; height: 546px; min-height: 0; padding: 0; margin: 0 0 137px; }
.f-row:last-child { margin-bottom: 0; }
.f-row__panel { inset: 0; border-radius: 29px; border: 0; box-shadow: none; background: var(--f-panel-bg); backdrop-filter: blur(3.6px); -webkit-backdrop-filter: blur(3.6px); overflow: hidden; }
.f-row--rev .f-row__panel { transform: scaleX(-1); }
.f-row__blob { right: -40px; bottom: -30px; width: 230px; opacity: .95; }
.f-row--rev .f-row__blob { left: auto; right: -40px; transform: none; }
.f-row__media { position: absolute; left: 39.5px; top: 39px; width: 425px; height: 468px; padding: 0; }
.f-row--rev .f-row__media { left: auto; right: 39.5px; }
.f-row__media::before { content: ""; position: absolute; inset: 0; border-radius: 35px; background: #B5AB86; filter: blur(40px); }
.f-row__img { position: relative; width: 425px; height: 468px; aspect-ratio: auto; border-radius: 35px; box-shadow: none; background: #151515; }
.f-row__img img { height: 100%; }
.f-row__body { position: absolute; left: 512.5px; top: 52px; width: 633px; padding: 0; text-align: left; height: 448px; }
.f-row--rev .f-row__body { left: 20.5px; width: 639px; text-align: right; align-items: flex-end; display: flex; flex-direction: column; }
.f-row__title { font-size: 64px; line-height: 79px; text-shadow: none; background: linear-gradient(180deg, #FFFFFF 20.25%, #303030 112.03%); -webkit-background-clip: text; background-clip: text; }
.f-row__rule { width: 331px; max-width: 331px; height: 2px; margin: 9px 0 33px; background: linear-gradient(90deg, #EBE4CA 0%, #4A4840 89.09%); }
.f-row--rev .f-row__rule { background: linear-gradient(270deg, #EBE4CA 0%, #4A4840 89.09%); }
.f-row__text { font-family: var(--f-body); font-size: 24px; line-height: 28px; color: #fff; margin: 0; }
.f-row__body .f-link-pill { position: absolute; left: 0; top: 389px; height: 54px; padding: 8px 16px 8px 22px; font-size: 16px; background: conic-gradient(from 181.07deg at 50% 50%, rgba(235, 228, 202, 0.4) 0deg, rgba(0, 0, 0, 0) 172.66deg, #B5AB86 281.27deg, rgba(235, 228, 202, 0.4) 360deg), rgba(16, 16, 16, 0.2); }
.f-row--rev .f-row__body .f-link-pill { left: auto; right: 0; }

/* ---------- Publishing: hero ---------- */
.f-lphero { padding: 174px 0 120px; background: transparent; overflow: visible; }
.f-lphero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 939px; border-radius: 0 0 30px 30px; background: radial-gradient(21.95% 41.37% at 2.92% 98.38%, rgba(255, 255, 255, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%), #151515; z-index: 0; }
.f-lphero::after { content: ""; position: absolute; width: 712px; height: 710px; right: -300px; top: -15px; border-radius: 50%; background: rgba(235, 228, 202, 0.36); filter: blur(93px); z-index: 0; pointer-events: none; }
.f-lphero .f-hero__bg { z-index: 0; }
.f-lphero__grid { grid-template-columns: 670px 515px; gap: 66px; max-width: 1380px; }
.f-lphero__title { font-family: var(--f-display); font-weight: 600; font-size: 35px; line-height: 43px; background: linear-gradient(180deg, #FFFFFF 40%, rgba(255, 255, 255, 0.72) 100%); -webkit-background-clip: text; background-clip: text; text-transform: none; }
.f-lphero__rule { height: 3px; margin: 30px 0 27px; background: linear-gradient(270deg, rgba(21, 21, 21, 0) 0%, #D9D9D9 100%); }
.f-lphero__text { font-size: 30px; line-height: 37px; text-transform: capitalize; background: var(--f-text-grad-soft); -webkit-background-clip: text; background-clip: text; margin-bottom: 47px; }
.f-btn--outline {
	height: 54px; min-height: 54px; padding: 16px 60px; min-width: 0; font-family: var(--f-display); font-weight: 500; font-size: 18px; line-height: 22px; letter-spacing: 0; text-transform: uppercase;
	background: var(--f-conic-btn); border-radius: 54px;
}
.f-btn--outline::before { background: linear-gradient(180deg, rgba(255, 255, 255, .3), rgba(255, 255, 255, .06)); }
.f-btns { gap: 43px; }
.f-lphero__scroll { position: absolute; left: 0; top: 712px; margin: 0; width: 84px; height: 84px; z-index: 3; }
.f-lphero__copy { position: relative; }
.f-form--card { position: relative; padding: 25px 38px 30px; border-radius: 35px; background: none; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; isolation: isolate; }
.f-form--card::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; border: 1px solid #626262; background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(21, 21, 21, 0.2) 95.81%); box-shadow: 4px 4px 20px 48px rgba(0, 0, 0, 0.65); backdrop-filter: blur(52px); -webkit-backdrop-filter: blur(52px); opacity: .55; }
.f-form__title { font-size: 32px; line-height: 38px; margin-bottom: 0; color: #fff; }
.f-form__title .is-hot { color: #FF3B30; font-weight: 400; }
.f-form__titleline { display: block; width: 299px; height: 1px; margin: 16px 0 44px 0; background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 240, 182, 0.38) 100%); }
.f-form--card .f-form__grid { gap: 14px 25px; }
.f-form--card .f-field { font-size: 17px; line-height: 25px; color: #fff; gap: 4px; }
.f-form--card .f-field input { height: 33px; min-height: 33px; padding: 0 12px; border-radius: 8px; border: 1px solid rgba(235, 228, 202, .35); background: rgba(21, 21, 21, .35); font-size: 16px; }
.f-form--card .f-field textarea { height: 117px; border-radius: 10px; border: 1px solid rgba(235, 228, 202, .35); background: rgba(21, 21, 21, .35); font-size: 16px; }
.f-form--card .f-field input::placeholder, .f-form--card .f-field textarea::placeholder { font-family: var(--f-body); font-weight: 200; color: rgba(255, 255, 255, .6); }
.f-form--card .f-submit { height: 36px; min-height: 36px; margin-top: 22px; border-radius: 8px; font-family: var(--f-body); font-size: 17px; border-color: rgba(235, 228, 202, .45); background: rgba(21, 21, 21, .35); }
.f-consent { font-size: 15px; line-height: 21px; color: #fff; gap: 12px; margin-top: 18px; }
.f-consent input { width: 10.37px; height: 10.37px; border-radius: 2.5px; border-color: #EBE4CA; margin-top: 5px; }

/* ---------- Publishing: services checklist ---------- */
.f-lpsvc { padding: 110px 0 120px; }
.f-lpsvc .f-pill { margin-bottom: 58px; }
.f-lpsvc__head { grid-template-columns: 594px 568px; gap: 58px; justify-content: space-between; margin-bottom: 92px; }
.f-lpsvc__title { font-size: 35px; line-height: 43px; font-weight: 600; background: linear-gradient(180deg, #FFFFFF 40%, rgba(255, 255, 255, 0.72) 100%); -webkit-background-clip: text; background-clip: text; }
.f-lpsvc__side { font-family: var(--f-body); font-weight: 200; font-size: 16px; line-height: 20px; text-transform: capitalize; margin-top: 45px; background: var(--f-text-grad-soft); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.f-lpsvc__grid { grid-template-columns: 640px 538px; gap: 100px; justify-content: space-between; }
.f-lpsvc__list { grid-template-columns: 307px 307px; gap: 92px 26px; margin-bottom: 70px; }
.f-check h3 { font-size: 24px; line-height: 43px; margin: 0; gap: 10px; background: var(--f-text-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.f-check__ico { width: 22px !important; height: 22px !important; color: #fff; -webkit-text-fill-color: initial; }
.f-check p { padding-left: 32px; font-size: 16px; line-height: 20px; text-transform: capitalize; background: var(--f-text-grad-soft); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; max-width: 303px; }
.f-lpsvc__media { min-height: 667px; border-radius: 24px; }

/* ---------- Publishing: CTA ---------- */
.f-lpcta { padding: 0 0 117px; }
.f-lpcta__card { position: relative; max-width: 1153px; min-height: 376px; padding: 54px 40px 40px; border-radius: 90px; background: transparent; box-shadow: none; }
.f-lpcta__card .f-intro__outline { background: linear-gradient(90deg, rgba(125, 122, 111, 0.4) 0.09%, rgba(255, 255, 255, 0.69) 24.54%, rgba(255, 255, 255, 0.24) 83.16%, rgba(125, 122, 111, 0.4) 97.91%); }
.f-lpcta__shine { display: none; }
.f-lpcta__title { font-size: 48px; line-height: 45px; margin-bottom: 13px; }
.f-lpcta__row { gap: 20px; font-family: var(--f-display); font-weight: 400; font-size: 48px; line-height: 45px; margin-bottom: 20px; }
.f-lpcta__line { width: 153px; height: 3px; background: linear-gradient(270deg, rgba(21, 21, 21, 0) 0%, #D9D9D9 49.5%, rgba(21, 21, 21, 0) 100%); }
.f-lpcta__phone { font-size: 48px; line-height: 45px; margin-bottom: 30px; }
.f-lpcta .f-btns { gap: 43px; }

/* ---------- Publishing: navigate panel ---------- */
.f-lpnav { padding: 0 0 65px; background: transparent; border: 0; }
.f-lpnav__panel { position: relative; max-width: 1440px; margin: 0 auto; min-height: 528px; padding: 63px 0; border-radius: 24px; background: linear-gradient(90deg, #151515 3.01%, rgba(21, 21, 21, 0) 48.94%, #151515 94.88%), conic-gradient(from 181.06deg at 50% 50%, #413F37 0deg, rgba(0, 0, 0, 0) 172.66deg, #414141 281.25deg, #413F37 360deg), linear-gradient(180deg, #3E3E3E -3.58%, #4D4B46 111.04%), #403F38; box-shadow: 0 0 100px #716B54; }
.f-lpnav__grid { grid-template-columns: 445px 793px; gap: 33px; max-width: 1380px; align-items: start; }
.f-lpnav__media { aspect-ratio: auto; width: 445px; height: 402px; border-radius: 35px; background: #0E2B69; box-shadow: none; }
.f-lpnav__title { font-size: 36px; line-height: 44px; margin-bottom: 0; max-width: 793px; background: linear-gradient(186.68deg, #FFFFFF 21.51%, #544D4D 98.02%); -webkit-background-clip: text; background-clip: text; }
.f-lpnav__rule { display: block; width: 670px; height: 1px; margin: 18px 0 18px 80px; background: linear-gradient(90deg, #D9D9D9 0%, rgba(4, 8, 21, 0) 100%); }
.f-lpnav__body p { font-size: 20px; line-height: 28px; color: #fff; max-width: 778px; }

/* ---------- Publishing: contact strip ---------- */
.f-lpstrip { padding: 120px 0; border: 0; position: relative; }
.f-lpstrip__rule { position: absolute; left: 0; right: 0; height: 3px; background: linear-gradient(270deg, #232323 0%, #FEEFB6 49.5%, #1D1D1D 100%); }
.f-lpstrip__rule--top { top: 0; }
.f-lpstrip__rule--bottom { bottom: 0; }
.f-lpstrip__inner { flex-direction: row; align-items: center; max-width: 1380px; }
.f-lpstrip__title { font-size: 35px; line-height: 43px; max-width: 640px; background: var(--f-text-grad); -webkit-background-clip: text; background-clip: text; }
.f-lpstrip__links { gap: 14px; margin-right: 28px; }
.f-lpstrip__links a, body.folio .f-section .f-lpstrip__links a { font-size: 24px; line-height: 28px; color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .5); }
.f-lpstrip__links .f-ico { display: none; }

/* ---------- Publishing: process ---------- */
.f-process { padding: 156px 0 120px; }
.f-process .f-pill { border-color: rgba(254, 239, 182, .45); margin-bottom: 47px; }
.f-process__title { font-size: 36px; line-height: 48px; max-width: 1047px; }
.f-process__sub { font-family: var(--f-display); font-weight: 400; font-size: 24px; line-height: 30px; margin: 16px 0 10px; background: var(--f-text-grad-soft); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.f-process__text { max-width: 1077px; font-size: 16px; line-height: 20px; text-transform: capitalize; background: var(--f-text-grad-soft); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.f-process .f-head { margin-bottom: 76px; }
.f-steps-fit { position: relative; }
.f-steps-fit > .f-steps { position: relative; }
.f-steps { width: 1300px; max-width: none; height: 690px; margin: 0; display: block; }
.f-step, .f-step--right { position: static; width: auto; display: block; }
.f-step__img { position: absolute; margin: 0; border: 1px solid #FFFFFF; overflow: hidden; z-index: 1; box-shadow: none; }
.f-step__img img { width: 100%; height: 100%; object-fit: cover; }
.f-step__bubble, .f-step--right .f-step__bubble { position: absolute; margin: 0; z-index: 2; padding: 28px 40px 24px 38px; background: rgba(0, 0, 0, 0.47); border: 1px solid #FEEFB6; backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); box-shadow: none; display: flex; flex-direction: column; justify-content: center; }
.f-step__bubble h3 { font-size: 24px; line-height: 30px; margin-bottom: 6px; background: var(--f-text-grad); -webkit-background-clip: text; background-clip: text; }
.f-step__bubble p { font-size: 16px; line-height: 20px; text-transform: capitalize; background: var(--f-text-grad-soft); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.f-step__num { display: none; }
.f-step--1 .f-step__img { left: 81px; top: 108px; width: 265px; height: 177px; border-radius: 88.5px; }
.f-step--1 .f-step__bubble { left: 249px; top: 206px; width: 459px; height: 155px; border-radius: 77.5px; }
.f-step--2 .f-step__img { left: 494px; top: 0; width: 335px; height: 176px; border-radius: 108px; }
.f-step--2 .f-step__bubble { left: 705px; top: 83px; width: 512px; height: 170px; border-radius: 167px; padding-left: 49px; }
.f-step--3 .f-step__img { left: 88px; top: 428px; width: 309px; height: 176px; border-radius: 93.5px; }
.f-step--3 .f-step__bubble { left: 282px; top: 519px; width: 459px; height: 166px; border-radius: 83px; }
.f-step--4 .f-step__img { left: 972px; top: 456px; width: 281px; height: 176px; border-radius: 93.5px; transform: scaleX(-1); }
.f-step--4 .f-step__bubble { left: 672px; top: 345px; width: 459px; height: 166px; border-radius: 83px; text-align: center; padding: 26px 40px; }

/* ---------- Publishing: testimonials variant + consultation ---------- */
.f-reviews .f-pill[href], .f-reviews .f-pill { height: auto; }
.f-consult { padding: 120px 0 80px; }
.f-consult__map { right: auto; left: 611px; top: 0; width: 843px; height: 597px; background-size: contain; background-position: center; opacity: .45; }
.f-consult__box { max-width: 438px; margin-left: 67px; }
.f-consult__title { font-size: 35px; line-height: 43px; margin-bottom: 40px; }
.f-consult__title .f-grad { background: var(--f-text-grad); -webkit-background-clip: text; background-clip: text; }
.f-form--consult .f-form__grid { grid-template-columns: 200px 200px; gap: 14px 36px; }
.f-form--consult .f-field { font-size: 17px; line-height: 25px; color: #fff; gap: 4px; }
.f-form--consult .f-field input { height: 33px; min-height: 33px; border-radius: 8px; padding: 0 12px; font-size: 16px; }
.f-form--consult .f-field input::placeholder { font-family: var(--f-body); font-weight: 200; color: rgba(255, 255, 255, .6); }
.f-form--consult .f-submit { height: 40px; margin-top: 22px; border-radius: 8px; font-family: var(--f-body); font-size: 17px; border-color: #FDEEB6; }
.f-form--consult .f-consent input { width: 17px; height: 17px; border-color: #FDEEB6; }

/* ==========================================================================
   Below desktop width: keep proportions, relax fixed px layouts.
   ========================================================================== */
@media (max-width: 1360px) {
	.f-footer__top { grid-template-columns: 220px 259px 454px; column-gap: 0; }
	.f-lphero__grid { grid-template-columns: 1fr 515px; }
	.f-lpsvc__head, .f-lpsvc__grid { grid-template-columns: 1fr 1fr; }
	.f-lpsvc__list { grid-template-columns: 1fr 1fr; }
	.f-lpnav__grid { grid-template-columns: 445px 1fr; }
	.f-lpnav__rule { width: 80%; }
	.f-contact__grid { grid-template-columns: 1fr 552px; gap: 40px; padding: 0 40px; }
	.f-contact__art img { width: 100%; height: auto; }
}
@media (max-width: 1240px) {
	.f-rows .f-container { padding: 0 var(--f-gutter); }
	.f-row, .f-row--rev { height: auto; min-height: 546px; }
	.f-row__media { width: 36%; height: auto; top: 39px; bottom: 39px; }
	.f-row__img { width: 100%; height: 100%; }
	.f-row__body { left: calc(36% + 70px); right: 40px; width: auto; height: auto; position: relative; padding: 52px 0 120px; }
	.f-row--rev .f-row__body { left: 40px; right: calc(36% + 70px); width: auto; }
	.f-row__body .f-link-pill { top: auto; bottom: 40px; }
	.f-row__title { font-size: 52px; line-height: 64px; }
	.f-row__text { font-size: 20px; line-height: 26px; }
	.f-who__panel { width: calc(100% + 120px); margin-left: calc(-50% - 60px); }
	.f-who__title { font-size: 56px; line-height: 70px; }
	.f-work__grid { grid-template-columns: repeat(4, 1fr); gap: 60px 30px; }
	.f-book__frame { width: 100%; height: auto; }
	.f-book::before { width: 92%; height: 96%; }
	.f-book__cover { width: 100%; height: auto; aspect-ratio: 196 / 288; }
}
@media (max-width: 1100px) {
	.f-footer__top { grid-template-columns: 1fr 1fr; column-gap: 40px; row-gap: 50px; }
	.f-footer__links { gap: 60px; justify-content: flex-start; }
	.f-awards__box { height: auto; flex-direction: column; }
	.f-awards__left { flex: none; border-radius: 24px 24px 0 0; justify-content: center; text-align: center; }
	.f-awards__title { max-width: none; }
	.f-awards__divider { width: auto; height: 1px; margin: 0 24px; }
	.f-awards__list { padding: 24px; border-radius: 0 0 24px 24px; flex-wrap: wrap; justify-content: center; gap: 18px; }
	.f-lphero__grid { grid-template-columns: 1fr; }
	.f-lphero::before { height: 100%; }
	.f-lphero__scroll { display: none; }
	.f-lpsvc__head, .f-lpsvc__grid { grid-template-columns: 1fr; }
	.f-lpsvc__media { min-height: 520px; }
	.f-lpnav__grid { grid-template-columns: 1fr; padding: 0 40px; }
	.f-lpnav__media { width: 100%; height: 400px; }
	.f-lpnav__rule { margin-left: 0; }
	.f-lpstrip__inner { flex-direction: column; align-items: flex-start; gap: 30px; }
	.f-contact__grid { grid-template-columns: 1fr; }
	.f-contact__art { display: flex; justify-content: center; }
	.f-contact__art img { width: 380px; max-width: 100%; }
	.f-contact .f-form__grid { grid-template-columns: 1fr 1fr; }
	.f-consult__map { left: 40%; }
	.f-work__grid { grid-template-columns: repeat(3, 1fr); }
	.f-tcard { width: 620px; margin-left: -310px; }
}
@media (max-width: 960px) {
	.f-nav { display: none; }
	.f-header .f-container.f-header__inner { padding: 0 24px; }
}
@media (max-width: 767px) {
	.f-header { height: 78px; }
	.f-header.is-scrolled { height: 78px; }
	.f-header__logo .f-logo { height: 46px; }
	.f-pill { height: 46px; font-size: 18px; padding: 10px 18px; margin-bottom: 28px; }
	.f-pill .f-pill__ico { font-size: 20px; }
	/* hero */
	.f-hero, .f-hero--compact { min-height: 0; padding-bottom: 50px; }
	.f-hero__stage, .f-hero--compact .f-hero__stage, .f-hero--noeyebrow .f-hero__stage { padding-top: 150px; }
	.f-hero__eyebrow { font-size: 26px; line-height: 40px; }
	.f-hero__title, .f-hero--compact .f-hero__title { font-size: 44px; line-height: 50px; }
	.f-hero__rule { width: 70%; }
	.f-hero__line, .f-hero--noeyebrow .f-hero__line { font-size: 18px; line-height: 28px; width: auto; }
	.f-hero__scroll, .f-hero--compact .f-hero__scroll, .f-hero--noeyebrow .f-hero__scroll { width: 84px; height: 84px; margin-top: 60px; }
	.f-hero__scroll .f-hero__arrow { width: 26px; height: 48px; }
	.f-hero__arc { bottom: 42px; }
	.f-hero__logos { padding: 0 20px; height: auto; flex-wrap: wrap; justify-content: center; gap: 22px 30px; }
	.f-hero__logo { height: 30px; }
	.f-hero__logo img { height: 28px; }
	.f-btn--hero { min-width: 0; height: 54px; min-height: 54px; font-size: 22px; padding: 0 40px; }
	.f-hero__btn-wrap { margin-top: 40px; }
	/* intro + tree (stacked) */
	.f-intro { padding: 80px 0 100px; }
	.f-intro__title { font-size: 36px; line-height: 44px; }
	.f-intro__head { margin-bottom: 40px; }
	.f-intro__card { min-height: 0; border-radius: 36px; padding: 36px 22px; }
	.f-intro__card-title { font-size: 28px; line-height: 34px; }
	.f-intro__card p { font-size: 16px; line-height: 24px; }
	.f-tree, .f-tree-fit > .f-tree { width: auto; height: auto; display: flex; flex-direction: column; align-items: center; gap: 56px; padding-top: 10px; }
	.f-tree__lines { display: none; }
	.f-tree__center { position: relative; left: auto; }
	.f-tree .f-feature { position: relative; left: auto !important; top: auto !important; width: 100%; max-width: 380px; height: auto !important; padding: 56px 30px 30px; }
	.f-tree .f-feature h4 { font-size: 24px; line-height: 28px; }
	/* awards */
	.f-awards { padding-bottom: 100px; }
	.f-awards__title { font-size: 24px; line-height: 26px; }
	.f-awards__item img { width: 80px; height: 80px; }
	/* services */
	.f-svc { padding-bottom: 90px; }
	.f-svc__head { margin-bottom: 70px; }
	.f-svc__title { font-size: 42px; line-height: 46px; }
	.f-svc__sub { font-size: 26px; line-height: 32px; }
	.f-cflow, .f-cflow-fit > .f-cflow { width: 100%; height: 600px; }
	.f-cflow__stage { left: 50%; margin-left: -167px; width: 334px; filter: none; }
	.f-cflow__card.is-side { opacity: 0 !important; pointer-events: none; }
	.f-cflow__nav, .f-cflow__nav:hover { top: auto; bottom: 0; width: 56px; height: 56px; }
	.f-cflow__nav .f-ico { font-size: 28px; }
	.f-cflow__nav--prev { left: calc(50% - 70px); opacity: 1; }
	.f-cflow__nav--next { right: calc(50% - 70px); }
	.f-dots--bar { margin-top: 30px; }
	.f-footer__glow--2, .f-footer__glow--3 { display: none; }
	.f-footer__glow--1 { width: 900px; height: 420px; margin-left: -450px; top: 560px; opacity: 1; filter: blur(40px); background: radial-gradient(closest-side, rgba(181, 171, 134, .75), rgba(181, 171, 134, .25) 60%, rgba(181, 171, 134, 0)); }
	/* work */
	.f-work__title { font-size: 40px; line-height: 46px; }
	.f-work__pre { font-size: 26px; }
	.f-tabs { margin-bottom: 50px; gap: 10px; }
	.f-tabs__tab { height: 42px; padding: 12px 22px; font-size: 15px; }
	.f-work__grid { grid-template-columns: repeat(2, 1fr); gap: 32px 18px; }
	.f-book__frame { padding: 8px 8px 6px; border-radius: 20px; }
	.f-book__cover { border-radius: 16px; }
	.f-book__name { font-size: 12px; }
	.f-work__more { margin-top: -90px; }
	.f-work__grid.is-clipped { max-height: 560px; }
	/* reviews */
	.f-reviews .f-title { font-size: 38px; line-height: 42px; }
	.f-reviews .f-subtitle--sm { font-size: 20px; line-height: 28px; }
	.f-reviews .f-head { margin-bottom: 60px; }
	.f-reviews__map { width: 1200px; margin-left: -600px; background-size: 1200px auto; height: 600px; }
	.f-tcar__track { height: 380px; }
	.f-tcard { width: 86vw; margin-left: -43vw; height: auto; min-height: 360px; padding: 30px 22px; }
	.f-tcard__name { font-size: 28px; line-height: 32px; }
	.f-tcard__text { font-size: 15px; line-height: 22px; }
	/* contact */
	.f-contact__title { font-size: 40px; line-height: 44px; margin-bottom: 40px; }
	.f-contact__card { min-height: 0; padding: 40px 20px; }
	.f-contact__card-title { font-size: 24px; line-height: 30px; }
	.f-contact__card-title::after { width: 80%; margin-left: -40%; bottom: -14px; }
	.f-contact__grid { padding: 0; gap: 20px; }
	.f-contact__art img { width: 260px; height: auto; }
	.f-contact .f-form__grid, .f-form--consult .f-form__grid { grid-template-columns: 1fr; gap: 0; }
	/* faq */
	.f-faq { padding-bottom: 140px; }
	.f-faq__title { font-size: 38px; line-height: 46px; margin-bottom: 50px; }
	.f-acc__q { padding: 24px 22px; font-size: 20px; }
	.f-acc__a-inner { padding: 0 22px 24px; font-size: 16px; }
	.f-acc__item::after { width: 70%; }
	/* footer */
	.f-footer { padding-top: 90px; }
	.f-footer__top { grid-template-columns: 1fr 1fr; }
	.f-footer__brand, .f-footer__news { grid-column: 1 / -1; }
	.f-footer__links { grid-column: 1 / -1; }
	.f-footer__dome { top: calc(90px + 640px - 2126px); width: 2600px; margin-left: -1300px; }
	.f-footer__glow--1, .f-footer__glow--2 { top: 560px; }
	.f-footer__glow--3 { top: 560px; }
	.f-footer__bottom { margin-top: 150px; font-size: 15px; line-height: 22px; padding-bottom: 50px; }
	.f-newsletter__btn { width: 130px; }
	/* about */
	.f-who__panel { width: auto; left: auto; margin: 0 -20px; padding: 50px 22px 70px; }
	.f-who__title { font-size: 38px; line-height: 46px; }
	.f-who__text p { font-size: 17px; line-height: 26px; }
	.f-intro--about { padding-top: 100px; }
	/* service rows */
	.f-row, .f-row--rev { min-height: 0; margin-bottom: 60px; }
	.f-row__media, .f-row--rev .f-row__media { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: auto; height: 280px; margin: 20px 20px 0; }
	.f-row__body, .f-row--rev .f-row__body { position: relative; left: auto; right: auto; width: auto; padding: 30px 24px 100px; text-align: left; align-items: flex-start; }
	.f-row--rev .f-row__rule { background: linear-gradient(90deg, #EBE4CA 0%, #4A4840 89.09%); }
	.f-row--rev .f-row__body .f-link-pill { left: 0; right: auto; }
	.f-row__body .f-link-pill { bottom: 36px; }
	.f-row__title { font-size: 40px; line-height: 48px; }
	.f-row__text { font-size: 16px; line-height: 23px; }
	/* publishing */
	.f-lphero { padding: 120px 0 80px; }
	.f-lphero__title { font-size: 26px; line-height: 34px; }
	.f-lphero__text { font-size: 20px; line-height: 27px; }
	.f-btns { gap: 14px; }
	.f-btn--outline { padding: 14px 26px; font-size: 15px; height: 50px; min-height: 50px; }
	.f-form--card { padding: 24px 18px; }
	.f-form__title { font-size: 24px; line-height: 30px; }
	.f-form__titleline { width: 70%; margin-bottom: 24px; }
	.f-lpsvc { padding: 90px 0 80px; }
	.f-lpsvc__title { font-size: 26px; line-height: 34px; }
	.f-lpsvc__side { margin-top: 0; }
	.f-lpsvc__list { grid-template-columns: 1fr; gap: 30px; margin-bottom: 40px; }
	.f-lpsvc__media { min-height: 380px; }
	.f-lpcta__card { border-radius: 36px; padding: 40px 18px; }
	.f-lpcta__title { font-size: 30px; line-height: 36px; }
	.f-lpcta__row { font-size: 24px; line-height: 30px; flex-wrap: wrap; }
	.f-lpcta__line { width: 60px; }
	.f-lpcta__phone { font-size: 32px; line-height: 38px; }
	.f-lpnav__panel { padding: 40px 0; }
	.f-lpnav__grid { padding: 0 20px; }
	.f-lpnav__media { height: 260px; }
	.f-lpnav__title { font-size: 26px; line-height: 34px; }
	.f-lpnav__body p { font-size: 16px; line-height: 24px; }
	.f-lpstrip { padding: 70px 0; }
	.f-lpstrip__title { font-size: 26px; line-height: 34px; }
	.f-lpstrip__links a, body.folio .f-section .f-lpstrip__links a { font-size: 17px; word-break: break-all; }
	.f-process { padding: 90px 0 80px; }
	.f-process__title { font-size: 24px; line-height: 32px; }
	.f-process__sub { font-size: 18px; }
	.f-steps, .f-steps-fit > .f-steps { width: auto; height: auto; display: flex; flex-direction: column; gap: 30px; }
	.f-step { display: flex !important; flex-direction: column; align-items: center; }
	.f-step__img, .f-step--4 .f-step__img { position: relative; left: auto !important; top: auto !important; width: 230px !important; height: 150px !important; transform: none; }
	.f-step__bubble, .f-step--2 .f-step__bubble, .f-step--4 .f-step__bubble { position: relative; left: auto !important; top: auto !important; width: 100% !important; height: auto !important; margin-top: -30px; border-radius: 30px !important; padding: 44px 22px 24px !important; text-align: center; }
	.f-consult__box { margin-left: 0; }
	.f-consult__map { left: 0; width: 100%; opacity: .5; }
}
