@font-face{
font-family:'Josefin Sans Custom';
src:url('JosefinSans-Thin.ttf') format('truetype');
font-weight:300;
font-style:normal;
font-display:swap;
}

*{
box-sizing:border-box;
}

html{
margin:0;
padding:0;
scroll-behavior:smooth;
background-color:#12100f;
}

body{
margin:0;
padding:0;
overflow-x:hidden;
background:#e7d8cf;
font-family:'Cormorant Garamond', serif;
font-weight:400;
color:#111;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
text-rendering:optimizeLegibility;
}

:root{
--bg-main:#e7d8cf;
--bg-soft:#e4d4cb;
--bg-about:#cfb7aa;
--bg-fit-strip:#dcc8bd;
--bg-process:#ebe0d8;
--bg-testimonials:#decabf;
--bg-testimonials-card:#e8d8cf;
--bg-vendors:#e6d7cf;
--bg-recognition:#d8c0b3;
--bg-recognition-card:#e3cfc5;
--gold:#8c6a39;
--gold-soft:#a47d42;
--ink:#111;
--ink-soft:rgba(17,17,17,0.72);
--ink-faint:rgba(17,17,17,0.46);
--line-dark:rgba(17,17,17,0.12);
--line-dark-2:rgba(17,17,17,0.18);
--footer:#12100f;
--brand-top-mobile:18px;
--brand-left-mobile:50%;
--salmon-pale:#ead7cd;
--salmon-soft:#dfc8bc;
--salmon-mid:#d2b3a3;
--max-shell:1460px;
--max-wide:1680px;
}

.gold{
color:var(--gold);
font-weight:400;
text-shadow:none;
}

.reveal{
opacity:0;
transform:translateY(36px);
transition:opacity 1s ease, transform 1s cubic-bezier(.22,1,.36,1);
will-change:transform, opacity;
}

.reveal.is-visible{
opacity:1;
transform:translateY(0);
}

.reveal-soft{
opacity:0;
transform:translateY(18px);
transition:opacity 1s ease, transform 1s cubic-bezier(.22,1,.36,1);
will-change:transform, opacity;
}

.reveal-soft.is-visible{
opacity:1;
transform:translateY(0);
}

.reveal-process{
opacity:0;
transform:translateY(28px);
transition:opacity .95s ease, transform 1s cubic-bezier(.22,1,.36,1);
will-change:transform, opacity;
}

.reveal-process.is-visible{
opacity:1;
transform:translateY(0);
}

.info-shell{
max-width:var(--max-shell);
margin:0 auto;
}

.wide-shell{
max-width:var(--max-wide);
margin:0 auto;
}

/* ============================= */
/* MOBILE PRELOADER */
/* ============================= */

.mobile-preloader{
display:none;
}

@media(max-width:1000px){
.mobile-preloader{
display:flex;
position:fixed;
inset:0;
z-index:999999;
background:var(--salmon-pale);
align-items:center;
justify-content:center;
flex-direction:column;
gap:24px;
padding:24px;
transition:opacity .55s ease, visibility .55s ease;
}

.mobile-preloader.hidden{
opacity:0;
visibility:hidden;
pointer-events:none;
}

.mobile-preloader__logo-wrap{
width:210px;
height:92px;
display:flex;
align-items:center;
justify-content:center;
opacity:0;
animation:logoFade 1.1s ease forwards, loaderLogoPulse 2.2s ease-in-out infinite 1.1s;
}

.mobile-preloader__logo{
width:100%;
height:auto;
display:block;
object-fit:contain;
transform:scale(1.75);
transform-origin:center;
}

.mobile-preloader__ring{
width:62px;
height:62px;
border-radius:50%;
border:2px solid rgba(140,106,57,0.18);
border-top-color:rgba(140,106,57,0.86);
animation:spin 1s linear infinite;
}

.mobile-preloader__text{
font-family:'Cormorant Garamond', serif;
font-size:24px;
line-height:1.06;
color:#5c4b41;
text-align:center;
max-width:250px;
letter-spacing:.01em;
}
}

@keyframes spin{
to{ transform:rotate(360deg); }
}

@keyframes logoFade{
0%{ opacity:0; transform:translateY(8px); }
100%{ opacity:1; transform:translateY(0); }
}

@keyframes loaderLogoPulse{
0%{ transform:scale(1); }
50%{ transform:scale(1.06); }
100%{ transform:scale(1); }
}

/* ============================= */
/* MENU / BRAND */
/* ============================= */

.menu{
position:absolute;
top:0;
left:0;
width:100%;
padding:28px 36px 0 36px;
z-index:30;
display:flex;
justify-content:flex-end;
align-items:flex-start;
pointer-events:none;
}

.brand-layer{
position:absolute;
top:22px;
left:22px;
width:280px;
height:150px;
z-index:35;
pointer-events:auto;
overflow:hidden;
}

.brand-link{
display:block;
position:relative;
width:100%;
height:100%;
line-height:0;
overflow:hidden;
}

.brand-logo{
position:absolute;
top:50%;
left:50%;
width:420px;
height:auto;
max-width:none;
transform:translate(-50%,-50%);
display:block;
}

.desktop-nav{
display:flex;
align-items:center;
gap:26px;
pointer-events:auto;
}

.desktop-nav a{
color:white;
text-decoration:none;
font-family:'Josefin Sans Custom', sans-serif;
font-size:14px;
font-weight:600;
letter-spacing:.34em;
white-space:nowrap;
text-transform:uppercase;
text-shadow:0 1px 10px rgba(0,0,0,0.6);
}

.desktop-nav a:hover{
opacity:.82;
}

.menu-toggle{
display:none;
position:absolute;
top:20px;
right:18px;
width:48px;
height:48px;
border:none;
background:transparent;
padding:0;
margin:0;
z-index:40;
cursor:pointer;
pointer-events:auto;
}

.menu-toggle span{
display:block;
width:22px;
height:1.5px;
background:white;
margin:5px auto;
transition:transform .35s ease, opacity .35s ease;
transform-origin:center;
}

.menu-toggle.active span:nth-child(1){
transform:translateY(6.5px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2){
opacity:0;
}

.menu-toggle.active span:nth-child(3){
transform:translateY(-6.5px) rotate(-45deg);
}

.mobile-panel{
display:none;
position:fixed;
top:0;
right:0;
width:min(82vw, 320px);
height:100svh;
background:rgba(10,10,10,0.96);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
padding:90px 28px 28px 28px;
z-index:38;
transform:translateX(100%);
transition:transform .35s ease;
}

.mobile-panel.open{
transform:translateX(0);
}

.mobile-panel nav{
display:flex;
flex-direction:column;
gap:22px;
}

.mobile-panel a{
color:white;
text-decoration:none;
font-family:'Josefin Sans Custom', sans-serif;
font-size:13px;
font-weight:300;
letter-spacing:.34em;
text-transform:uppercase;
}

.mobile-backdrop{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,0.28);
z-index:37;
opacity:0;
pointer-events:none;
transition:opacity .35s ease;
}

.mobile-backdrop.open{
opacity:1;
pointer-events:auto;
}

/* ============================= */
/* HERO */
/* ============================= */

.parallax-root {
  position: relative;
}

.hero {
  height: 100vh;
  min-height: 700px;
  position: sticky;
  top: 0;
  z-index: 0;
}

.portfolio-wrapper {
  position: relative;
  z-index: 10;
  background: var(--bg-main);
}



.hero video{
position:absolute;
top:50%;
left:50%;
width:100%;
height:100%;
object-fit:cover;
object-position:center center;
transform:translate(-50%,-50%);
filter:brightness(1.12) contrast(0.96) saturate(0.92);
}

.hero::after{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(to bottom, rgba(0,0,0,0.36) 0%, rgba(0,0,0,0.12) 44%, rgba(0,0,0,0.22) 100%);
}

.hero-text-wrapper{
  position:relative;
  z-index:1;
  margin-top:-100svh;
  height:100svh;
  min-height:700px;
  pointer-events:none;
}

.overlay{
position:absolute;
top:66%;
left:50%;
transform:translate(-50%,-50%);
text-align:center;
z-index:5;
max-width:90%;
width:max-content;
padding:0;
pointer-events:auto;
}

.overlay h1{
color:white;
font-family:'Jost', sans-serif;
font-size:34px;
letter-spacing:5px;
margin:0;
text-transform:uppercase;
font-weight:300;
line-height:1.2;
text-shadow:0 8px 24px rgba(0,0,0,.18);
}

.overlay h1 .gold{
color:#c19751;
font-weight:400;
text-shadow:none;
}

.overlay p{
color:white;
font-family:'Cormorant Garamond', serif;
font-size:20px;
margin:12px 0 0 0;
letter-spacing:.2px;
line-height:1.34;
max-width:760px;
margin-left:auto;
margin-right:auto;
text-shadow:0 8px 24px rgba(0,0,0,.18);
}

.hero-cta-wrap{
margin-top:88px;
display:flex;
justify-content:center;
}

.hero-cta{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:250px;
padding:15px 24px;
background:transparent;
color:white;
text-decoration:none;
font-family:'Jost', sans-serif;
font-size:12px;
font-weight:400;
letter-spacing:.32em;
text-transform:uppercase;
border:1px solid rgba(255,255,255,0.82);
transition:transform .25s ease, opacity .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.hero-cta:hover{
background:white;
color:#111;
border-color:white;
opacity:.92;
transform:translateY(-1px);
}

/* ============================= */
/* PORTFOLIO */
/* ============================= */

.portfolio-wrapper{
margin:0px;
padding:88px 0 54px 0;
background:var(--bg-main);
}

.intro-signature{
padding:0 16px 30px 16px;
text-align:center;
}

.intro-signature__eyebrow{
margin:0;
font-family:'Cormorant Garamond', serif;
font-weight:400;
font-size:58px;
letter-spacing:-.12px;
line-height:1;
color:#111;
}

.intro-signature__eyebrow .gold{
color:#98743a;
text-shadow:none;
}

.intro-signature__subtext{
margin:10px auto 0 auto;
max-width:760px;
font-family:'Cormorant Garamond', serif;
font-weight:400;
font-size:22px;
line-height:1.18;
color:rgba(17,17,17,0.80);
}

.hero-film{
position:relative;
overflow:hidden;
margin-bottom:0;
aspect-ratio:2.35/1;
background:#000;
border-radius:4px;
}

.hero-film iframe{
position:absolute;
top:45%;
left:50%;
width:100%;
height:140%;
transform:translate(-50%,-50%);
pointer-events:none;
display:block;
border:0;
}

.hero-film::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(to bottom, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.16) 28%, rgba(0,0,0,0.54) 100%);
z-index:2;
pointer-events:none;
}

.hero-film::after{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at center, rgba(255,255,255,0.04) 0%, rgba(0,0,0,0) 58%);
z-index:3;
pointer-events:none;
}

.hero-film-motion{
opacity:0;
transform:translateY(30px) scale(.985);
transition:opacity 1.25s ease, transform 1.35s cubic-bezier(.22,1,.36,1);
will-change:transform, opacity;
}

.hero-film-motion.is-visible{
opacity:1;
transform:translateY(0) scale(1);
}

.featured-proof{
position:absolute;
inset:0;
z-index:5;
display:flex;
align-items:center;
justify-content:center;
padding:42px 34px 28px 34px;
pointer-events:none;
}

.featured-proof__inner{
width:min(100%, 1040px);
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
}

.featured-proof__title{
margin:0;
max-width:620px;
font-family:'Cormorant Garamond', serif;
font-weight:400;
font-size:31px;
line-height:1.04;
color:rgba(255,255,255,0.96);
text-shadow:0 6px 22px rgba(0,0,0,0.22);
opacity:0;
transform:translateY(22px);
}

.featured-proof__divider{
width:78px;
height:1px;
margin:16px auto 18px auto;
background:rgba(255,255,255,0.82);
box-shadow:0 4px 18px rgba(0,0,0,0.12);
opacity:0;
transform:translateY(22px);
}

.featured-proof__row{
display:grid;
grid-template-columns:repeat(3, minmax(70px, 1fr));
gap:22px;
align-items:center;
justify-content:center;
width:min(100%, 340px);
margin:0 auto 14px auto;
opacity:0;
transform:translateY(22px);
}

.featured-proof__seal{
display:flex;
align-items:center;
justify-content:center;
pointer-events:none;
}

.featured-proof__seal a{
display:flex;
align-items:center;
justify-content:center;
pointer-events:auto;
cursor:pointer;
position:relative;
z-index:8;
}

.featured-proof__seal img{
display:block;
max-width:74px;
height:auto;
filter:drop-shadow(0 10px 20px rgba(0,0,0,0.22));
}

.featured-proof__seal--center img{
max-width:84px;
}

.featured-proof__copy{
margin:0;
max-width:620px;
font-family:'Jost', sans-serif;
font-size:12px;
font-weight:300;
line-height:1.55;
letter-spacing:.05em;
color:rgba(255,255,255,0.88);
text-shadow:0 3px 14px rgba(0,0,0,0.22);
opacity:0;
transform:translateY(22px);
}

.hero-film-motion.is-visible .featured-proof__title{
opacity:1;
transform:translateY(0);
transition:opacity 1s ease .18s, transform 1.2s cubic-bezier(.22,1,.36,1) .18s;
}

.hero-film-motion.is-visible .featured-proof__divider{
opacity:1;
transform:translateY(0);
transition:opacity .9s ease .38s, transform 1s cubic-bezier(.22,1,.36,1) .38s;
}

.hero-film-motion.is-visible .featured-proof__row{
opacity:1;
transform:translateY(0);
transition:opacity 1s ease .54s, transform 1.1s cubic-bezier(.22,1,.36,1) .54s;
}

.hero-film-motion.is-visible .featured-proof__copy{
opacity:1;
transform:translateY(0);
transition:opacity 1s ease .74s, transform 1.1s cubic-bezier(.22,1,.36,1) .74s;
}

.films-carousel{
position:relative;
margin-top:4px;
}

.films-viewport{
overflow:hidden;
}

.portfolio-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:8px;
}

.film{
position:relative;
cursor:pointer;
overflow:hidden;
background:#d8c9bf;
aspect-ratio:1130/720;
border-radius:6px;
box-shadow:0 4px 12px rgba(0,0,0,0.05);
transition:box-shadow .4s ease;
}

.film:hover {
box-shadow:0 12px 24px rgba(0,0,0,0.15);
}

.film img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform .6s ease;
}

.film:hover img{
transform:scale(1.05);
}

.reserved img{
transform:scale(1.05);
transition:transform .6s ease;
}

.reserved:hover img{
transform:scale(1.08);
}

.play{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:70px;
height:70px;
border-radius:50%;
border:2px solid rgba(255,255,255,0.85);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
transition:.4s;
z-index:3;
pointer-events:none;
backdrop-filter: blur(4px);
background: rgba(0,0,0,0.15);
}

.play:after{
content:'▶';
color:white;
font-size:22px;
margin-left:3px;
}

.film:hover .play{
opacity:1;
border-color:#d6b676;
}

.film-title{
position:absolute;
bottom:18px;
left:18px;
color:white;
font-family:'Cormorant Garamond', serif;
font-size:24px;
font-weight:400;
opacity:0;
transition:.4s;
text-shadow:0 1px 8px rgba(0,0,0,0.45);
}

.film:hover .film-title{
opacity:1;
}

.reserved{
cursor:default;
}

.reserved img{
filter:blur(6px) brightness(.65);
}

.reserved-click{
position:absolute;
top:40%;
left:50%;
transform:translate(-50%,-50%);
font-family:'Jost', sans-serif;
font-weight:400;
color:white;
font-size:14px;
letter-spacing:.34em;
text-transform:uppercase;
transition:opacity 1.2s ease;
white-space:nowrap;
pointer-events:none;
}

.reserved-text{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
text-align:center;
font-family:'Cormorant Garamond', serif;
font-weight:400;
color:#f1d6a2;
font-size:32px;
line-height:1.02;
opacity:0;
transition:opacity 1.2s ease;
white-space:nowrap;
pointer-events:none;
}

.reserved:hover .reserved-click{
opacity:0;
}

.reserved:hover .reserved-text{
opacity:1;
}

.films-arrow,
.films-dots{
display:none;
}

/* ============================= */
/* WHAT WE OFFER */
/* ============================= */

.offer-section {
  position: relative;
  margin: 44px auto 0 auto;
  background: #000;
}

.offer-bg-sticky {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  overflow: hidden;
}

.offer-bg-sticky video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: translate(-50%, -50%);
  filter: brightness(.62) contrast(1.02) saturate(.88);
}

.offer-overlays {
  position: absolute;
  inset: 0;
  pointer-events: none;
  
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.00) 34%),
    linear-gradient(to right, rgba(0,0,0,0.24) 0%, rgba(0,0,0,0.08) 24%, rgba(0,0,0,0.08) 76%, rgba(0,0,0,0.24) 100%),
    linear-gradient(to bottom, rgba(8,8,8,0.20) 0%, rgba(8,8,8,0.34) 22%, rgba(8,8,8,0.50) 48%, rgba(8,8,8,0.62) 100%);
}

.offer-section__inner {
  position: relative;
  z-index: 2;
  padding: 15vh;
}

.offer-section__side{
display:flex;
align-items:flex-start;
justify-content:flex-end;
padding-top:14px;
}

.offer-section__side-title{
margin:0;
font-family:'Jost', sans-serif;
font-size:13px;
font-weight:400;
line-height:1;
letter-spacing:.34em;
text-transform:uppercase;
color:rgba(255,255,255,0.62);
writing-mode:vertical-rl;
transform:rotate(180deg);
}

.offer-section__main{
display:block;
width:100%;
max-width:980px;
}

.offer-section__headline-wrap{
margin:0;
}

.offer-section__eyebrow{
margin:0 0 18px 0;
font-family:'Jost', sans-serif;
font-size:12px;
font-weight:400;
letter-spacing:.34em;
text-transform:uppercase;
color:rgba(255,255,255,0.58);
}

.offer-section__headline{
margin:0;
max-width:980px;
font-family:'Cormorant Garamond', serif;
font-size:108px;
font-weight:500;
line-height:.9;
letter-spacing:-.045em;
color:#f5eee8;
text-transform:none;
text-align:left;
}

.offer-section__underline{
width:124px;
height:1px;
margin:28px 0 0 0;
background:linear-gradient(to right, rgba(255,255,255,0.92), rgba(255,255,255,0.20));
border-radius:999px;
}

.offer-section__copy{
margin-top:54px;
max-width:760px;
}

.offer-section__copy p{
margin:0;
font-family:'Cormorant Garamond', serif;
font-size:34px;
font-weight:400;
line-height:1.08;
letter-spacing:-.01em;
color:#f3ece5;
text-shadow:0 8px 24px rgba(0,0,0,0.16);
text-align:justify;
text-justify:inter-word;
}

.offer-section__copy p + p{
margin-top:24px;
font-size:24px;
line-height:1.28;
letter-spacing:0;
color:rgba(243,236,229,0.84);
text-align:justify;
text-justify:inter-word;
}

.offer-section__micro{
margin-top:38px;
display:inline-flex;
align-items:center;
gap:12px;
text-decoration:none;
font-family:'Jost', sans-serif;
font-size:11px;
font-weight:400;
letter-spacing:.28em;
text-transform:uppercase;
color:#f3ece5;
border-bottom:1px solid rgba(255,255,255,0.26);
padding-bottom:6px;
transition:opacity .25s ease, transform .25s ease, border-color .25s ease;
cursor:pointer;
background:none;
border-top:none;
border-left:none;
border-right:none;
}

.offer-section__micro:hover{
opacity:.82;
transform:translateY(-1px);
border-color:rgba(255,255,255,0.56);
}

.offer-section__micro-arrow{
font-size:15px;
line-height:1;
letter-spacing:0;
transform:translateY(-1px);
}

.offer-section__floating-note{
position:absolute;
right:62px;
bottom:54px;
max-width:280px;
padding:18px 18px 16px 18px;
background:rgba(255,255,255,0.08);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
border:1px solid rgba(255,255,255,0.12);
box-shadow:0 18px 38px rgba(0,0,0,0.14);
}

.offer-section__floating-note p{
margin:0;
font-family:'Jost', sans-serif;
font-size:11px;
font-weight:300;
line-height:1.7;
letter-spacing:.14em;
text-transform:uppercase;
color:rgba(255,255,255,0.78);
text-align:justify;
text-justify:inter-word;
}

/* ============================= */
/* DIVIDERS / SECTION TRANSITIONS */
/* ============================= */

.section-divider{
display:none;
}

.about-dark,
.fit-cta-strip,
.process-section,
.testimonials-section,
.brand-recognition,
.preferred-vendors{
position:relative;
}

.about-dark::before,
.fit-cta-strip::before,
.process-section::before,
.testimonials-section::before,
.brand-recognition::before,
.preferred-vendors::before{
content:"";
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:calc(100% - 96px);
max-width:1520px;
height:1px;
background:rgba(17,17,17,0.07);
pointer-events:none;
}

.about-dark::before{
width:calc(100% - 120px);
background:rgba(255,255,255,0.16);
}

.fit-cta-strip::before{
background:rgba(17,17,17,0.08);
}

.process-section::before{
background:
linear-gradient(
to right,
rgba(17,17,17,0) 0%,
rgba(17,17,17,0.08) 18%,
rgba(17,17,17,0.08) 82%,
rgba(17,17,17,0) 100%
);
height:1px;
inset:auto auto auto 50%;
}

.testimonials-section::before{
background:
linear-gradient(
to right,
rgba(17,17,17,0) 0%,
rgba(17,17,17,0.07) 18%,
rgba(17,17,17,0.07) 82%,
rgba(17,17,17,0) 100%
);
height:1px;
inset:auto auto auto 50%;
}

.brand-recognition::before{
background:
linear-gradient(
to right,
rgba(47,27,22,0) 0%,
rgba(47,27,22,0.08) 18%,
rgba(47,27,22,0.08) 82%,
rgba(47,27,22,0) 100%
);
height:1px;
inset:auto auto auto 50%;
}

.preferred-vendors::before{
background:
linear-gradient(
to right,
rgba(17,17,17,0) 0%,
rgba(17,17,17,0.08) 18%,
rgba(17,17,17,0.08) 82%,
rgba(17,17,17,0) 100%
);
height:1px;
inset:auto auto auto 50%;
}

/* ============================= */
/* ABOUT */
/* ============================= */

.about-dark{
position:relative;
background:var(--bg-about);
padding:78px 34px 94px 34px;

overflow-x: clip;
}

.about-kicker{
position:relative;
max-width:var(--max-shell);
margin:0 auto 42px auto;
font-family:'Jost', sans-serif;
font-size:18px;
font-weight:400;
letter-spacing:.30em;
text-transform:uppercase;
color:rgba(17,17,17,0.48);
text-align:center;
}

.about-dark-grid{
position:relative;
display:grid;
grid-template-columns:540px 1fr;
gap:64px;
align-items:start;
}

.about-dark-image{
position:sticky;
top:40px; /* Distance from top */
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
border-radius:12px;
box-shadow:0 18px 44px rgba(0,0,0,0.12); /* Adding elegant depth */
background:transparent;
}

.about-dark-image img{
position:relative;
width:100%;
height:100%;
object-fit:cover; /* Make sure image fills sticky area beautifully */
filter:saturate(.88) contrast(1.01) brightness(.98);
}

.about-dark-content{
position:relative;
color:#111;
display:flex;
flex-direction:column;
min-height:100%;
padding-top:10px;
}

.about-dark-title{
margin:0 0 18px 0;
font-family:'Cormorant Garamond', serif;
font-weight:400;
font-size:52px;
line-height:.98;
letter-spacing:-.15px;
color:#111;
}

.about-dark-title span{
display:block;
}

.about-dark-title .gold{
color:rgba(255,255,255,0.94);
text-shadow:none;
}

.about-dark-lead{
margin:0 0 18px 0;
max-width:680px;
font-family:'Cormorant Garamond', serif;
font-size:23px;
font-weight:400;
line-height:1.18;
color:#111;
text-align:justify;
text-justify:inter-word;
}

.about-dark-text{
font-family:'Cormorant Garamond', serif;
font-weight:400;
color:#111;
max-width:680px;
font-size:16px;
text-align:justify;
text-justify:inter-word;
}

.about-dark-text p{
margin:0 0 16px 0;
font-size:16px;
line-height:1.58;
letter-spacing:.01em;
color:rgba(17,17,17,0.70);
text-align:justify;
text-justify:inter-word;
}

.about-dark-quote{
margin:12px 0 24px 0;
padding-left:20px;
border-left:1px solid rgba(17,17,17,0.18);
font-family:'Cormorant Garamond', serif;
font-size:24px;
font-weight:400;
line-height:1.18;
max-width:580px;
color:#111;
}

.about-dark-points{
display:grid;
grid-template-columns:1fr;
gap:10px;
max-width:580px;
margin:6px 0 0 0;
}

.about-dark-point{
padding-top:12px;
border-top:1px solid rgba(17,17,17,0.12);
font-family:'Jost', sans-serif;
font-size:13px;
font-weight:300;
line-height:1.72;
letter-spacing:.04em;
color:rgba(17,17,17,0.82);
text-align:justify;
text-justify:inter-word;
}

.about-dark-point strong{
font-weight:500;
letter-spacing:.18em;
text-transform:uppercase;
font-size:11px;
display:inline-block;
margin-right:10px;
color:#111;
}

.about-dark-bottom{
margin-top:auto;
padding-top:64px;
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:flex-end;
min-height:150px;
}

.about-dark-closing{
margin:0 0 22px 0;
max-width:520px;
font-family:'Cormorant Garamond', serif;
font-size:25px;
font-weight:400;
line-height:1.2;
color:#111;
text-align:left;
}

.about-dark-button{
display:inline-block;
min-width:360px;
padding:18px 30px;
background:#111;
color:#e7d8cf;
text-decoration:none;
text-align:center;
font-family:'Jost', sans-serif;
font-size:13px;
font-weight:400;
letter-spacing:.34em;
text-transform:uppercase;
border:none;
transition:opacity .25s ease, transform .25s ease, background .25s ease;
}

.about-dark-button:hover{
opacity:.92;
transform:translateY(-1px);
background:#191715;
}

/* ============================= */
/* FIT CTA */
/* ============================= */

.fit-cta-strip{
background:var(--bg-fit-strip);
padding:62px 34px 68px 34px;
}

.fit-cta-strip__inner{
max-width:860px;
margin:0 auto;
text-align:center;
}

.fit-cta-strip__eyebrow{
margin:0 0 14px 0;
font-family:'Jost', sans-serif;
font-size:13px;
font-weight:400;
letter-spacing:.28em;
text-transform:uppercase;
color:rgba(17,17,17,0.48);
}

.fit-cta-strip__title{
margin:0;
font-family:'Cormorant Garamond', serif;
font-size:42px;
font-weight:400;
line-height:1;
letter-spacing:-.1px;
color:#111;
}

.fit-cta-strip__text{
max-width:760px;
margin:16px auto 0 auto;
font-family:'Cormorant Garamond', serif;
font-size:20px;
font-weight:400;
line-height:1.22;
color:rgba(17,17,17,0.72);
}

.fit-cta-strip__button{
margin-top:28px;
display:inline-flex;
align-items:center;
justify-content:center;
min-width:340px;
padding:16px 28px;
background:transparent;
border:1px solid rgba(17,17,17,0.22);
color:#111;
font-family:'Jost', sans-serif;
font-size:12px;
font-weight:400;
letter-spacing:.28em;
text-transform:uppercase;
cursor:pointer;
transition:transform .25s ease, background .25s ease, border-color .25s ease, opacity .25s ease;
}

.fit-cta-strip__button:hover{
transform:translateY(-1px);
background:rgba(255,255,255,0.22);
border-color:rgba(17,17,17,0.34);
}

/* ============================= */
/* PROCESS */
/* ============================= */

.process-section{
background:var(--bg-process);
padding:104px 34px 116px 34px;
overflow:hidden;
position:relative;
}

.process-section::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at top center, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0) 46%);
pointer-events:none;
}

.process-heading{
position:relative;
text-align:center;
max-width:900px;
margin:0 auto 72px auto;
z-index:1;
}

.process-title{
margin:0;
font-family:'Cormorant Garamond', serif;
font-weight:400;
font-size:54px;
line-height:.98;
letter-spacing:-.15px;
color:#111;
}

.process-black{
color:#111;
}

.process-intro{
margin:14px auto 0 auto;
max-width:680px;
font-family:'Cormorant Garamond', serif;
font-size:20px;
line-height:1.22;
color:rgba(17,17,17,0.68);
}

.process-list{
position:relative;
display:flex;
flex-direction:column;
gap:54px;
max-width:1360px;
margin:0 auto;
z-index:1;
}

.process-row{
display:grid;
grid-template-columns:160px 1fr;
gap:34px;
align-items:center;
}

.process-row--right{
grid-template-columns:1fr 160px;
}

.process-row--right .process-media-wrap{
order:2;
}

.process-row--right .process-copy{
order:1;
text-align:right;
margin-left:auto;
}

.process-media-wrap{
display:flex;
align-items:center;
justify-content:center;
}

.process-icon-card{
position:relative;
width:160px;
height:160px;
min-width:160px;
display:flex;
align-items:center;
justify-content:center;
background:transparent;
color:#111;
clip-path:inset(100% 0 0 0 round 0);
transform:translateX(-46px);
transition:clip-path 1s cubic-bezier(.22,1,.36,1), transform 1s cubic-bezier(.22,1,.36,1), opacity .85s ease;
opacity:0;
padding:0;
isolation:isolate;
}

.process-row--right .process-icon-card{
transform:translateX(46px);
}

.process-row.is-visible .process-icon-card,
.reveal-process.is-visible .process-icon-card{
clip-path:inset(0 0 0 0 round 0);
transform:translateX(0);
opacity:1;
}

.process-icon-number{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
font-family:'Cormorant Garamond', serif;
font-size:86px;
font-weight:500;
line-height:1;
color:rgba(140,106,57,0.12);
pointer-events:none;
user-select:none;
z-index:1;
white-space:nowrap;
}

.process-icon-svg{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:2;
width:70px;
height:70px;
display:flex;
align-items:center;
justify-content:center;
color:#111;
pointer-events:none;
}

.process-icon-svg svg{
width:70px;
height:70px;
display:block;
stroke:currentColor;
}

.process-copy{
opacity:0;
transform:translateY(24px);
transition:opacity .95s ease .14s, transform .95s cubic-bezier(.22,1,.36,1) .14s;
max-width:700px;
}

.process-row.is-visible .process-copy,
.reveal-process.is-visible .process-copy{
opacity:1;
transform:translateY(0);
}

.process-copy h3{
margin:0 0 10px 0;
font-family:'Cormorant Garamond', serif;
font-size:30px;
font-weight:400;
line-height:1.04;
color:#111;
}

.process-copy p{
margin:0;
font-family:'Cormorant Garamond', serif;
font-size:19px;
line-height:1.34;
color:rgba(17,17,17,0.76);
}

.process-inline-link{
color:#111;
text-decoration:none;
border-bottom:1px solid rgba(17,17,17,0.28);
padding-bottom:1px;
transition:opacity .25s ease, border-color .25s ease;
}

.process-inline-link:hover{
opacity:.72;
border-bottom-color:rgba(17,17,17,0.7);
}

/* ============================= */
/* TESTIMONIALS */
/* ============================= */

.testimonials-section{
position:relative;
background:var(--bg-testimonials);
padding:96px 28px 112px 28px;
overflow:hidden;
}

.testimonials-section::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at top center, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 34%);
pointer-events:none;
}

.testimonials-title{
margin:0 0 16px 0;
text-align:center;
font-family:'Cormorant Garamond', serif;
font-weight:400;
font-size:46px;
line-height:1;
letter-spacing:-.12px;
color:#111;
}

.testimonials-intro{
max-width:670px;
margin:0 auto;
text-align:center;
font-family:'Cormorant Garamond', serif;
font-size:20px;
line-height:1.2;
color:rgba(17,17,17,0.70);
}

.section-title-accent::after{
content:"";
display:block;
width:88px;
height:1px;
margin:18px auto 0 auto;
background:rgba(17,17,17,0.18);
}

.testimonials-carousel{
position:relative;
max-width:1420px;
margin:54px auto 0 auto;
padding:0 70px;
}

.testimonials-viewport{
overflow:hidden;
}

.testimonials-track{
display:flex;
transition:transform .7s cubic-bezier(.22,1,.36,1);
will-change:transform;
}

.testimonial-slide{
min-width:100%;
display:flex;
align-items:center;
justify-content:center;
}

.testimonial-layout{
position:relative;
width:min(100%, 1080px);
min-height:560px;
display:flex;
align-items:center;
justify-content:flex-start;
}

.testimonial-photo{
position:relative;
width:450px;
height:560px;
flex-shrink:0;
background:#d9c8bb;
overflow:hidden;
box-shadow:0 14px 40px rgba(0,0,0,0.08);
}

.testimonial-photo::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to bottom, rgba(0,0,0,0.02), rgba(0,0,0,0.10));
pointer-events:none;
}

.testimonial-photo img{
display:block;
width:100%;
height:100%;
object-fit:cover;
}

.testimonial-card{
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
width:min(57%, 580px);
background:var(--bg-testimonials-card);
padding:42px 42px 36px 42px;
box-shadow:0 18px 44px rgba(0,0,0,0.08);
}

.testimonial-quote-mark{
font-family:'Cormorant Garamond', serif;
font-size:56px;
line-height:.6;
color:rgba(17,17,17,0.22);
margin:0 0 12px 0;
}

.testimonial-quote{
margin:0 0 24px 0;
font-family:'Cormorant Garamond', serif;
font-size:23px;
font-weight:400;
line-height:1.2;
color:#111;
}

.testimonial-meta{
margin-top:18px;
padding-top:18px;
border-top:1px solid rgba(17,17,17,0.14);
}

.testimonial-name{
margin:0;
font-family:'Cormorant Garamond', serif;
font-size:28px;
font-weight:400;
line-height:1;
color:#111;
}

.testimonial-label{
margin:8px 0 0 0;
font-family:'Jost', sans-serif;
font-size:12px;
letter-spacing:.24em;
text-transform:uppercase;
color:rgba(17,17,17,0.52);
}

.testimonials-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
width:46px;
height:46px;
border:none;
background:transparent;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition:opacity .25s ease, transform .25s ease;
z-index:4;
padding:0;
}

.testimonials-arrow:hover{
opacity:.72;
transform:translateY(-50%) scale(1.03);
}

.testimonials-arrow svg{
width:32px;
height:32px;
stroke:#111;
stroke-width:1.15;
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
}

.testimonials-arrow--prev{ left:6px; }
.testimonials-arrow--next{ right:6px; }

.testimonials-dots{
display:flex;
justify-content:center;
gap:10px;
margin-top:28px;
}

.testimonials-dot{
width:10px;
height:10px;
border-radius:50%;
border:1px solid rgba(17,17,17,0.24);
background:transparent;
padding:0;
cursor:pointer;
transition:background .25s ease, transform .25s ease;
}

.testimonials-dot.active{
background:#111;
transform:scale(1.05);
}

/* ============================= */
/* THRIVE RECOGNITION */
/* ============================= */

.brand-recognition{
padding:88px 28px 92px 28px;
background:var(--bg-recognition);
}

.brand-recognition__inner{
max-width:var(--max-shell);
margin:0 auto;
}

.brand-recognition__eyebrow{
margin:0 0 18px 0;
text-align:center;
font-family:'Jost', sans-serif;
font-size:12px;
font-weight:400;
letter-spacing:.30em;
text-transform:uppercase;
color:rgba(53,28,22,0.42);
}

.brand-recognition__card{
display:grid;
grid-template-columns:280px 1fr;
gap:42px;
align-items:center;
padding:42px 46px;
border:1px solid rgba(76,40,31,0.08);
background:var(--bg-recognition-card);
box-shadow:0 16px 40px rgba(73,36,27,0.05);
}

.brand-recognition__logo-wrap{
display:flex;
align-items:center;
justify-content:center;
padding:20px;
border-right:1px solid rgba(76,40,31,0.08);
min-height:180px;
}

.brand-recognition__logo{
max-width:180px;
max-height:120px;
width:auto;
height:auto;
display:block;
object-fit:contain;
}

.brand-recognition__content{
max-width:760px;
}

.brand-recognition__title{
margin:0 0 12px 0;
font-family:'Cormorant Garamond', serif;
font-size:42px;
font-weight:400;
line-height:1;
letter-spacing:-.02em;
color:#2f1b16;
}

.brand-recognition__text{
margin:0;
font-family:'Cormorant Garamond', serif;
font-size:22px;
line-height:1.24;
color:rgba(47,27,22,0.68);
}

.brand-recognition__link{
display:inline-block;
margin-top:20px;
font-family:'Jost', sans-serif;
font-size:11px;
font-weight:400;
letter-spacing:.26em;
text-transform:uppercase;
text-decoration:none;
color:#2f1b16;
border-bottom:1px solid rgba(47,27,22,0.24);
padding-bottom:4px;
transition:opacity .25s ease, border-color .25s ease;
}

.brand-recognition__link:hover{
opacity:.72;
border-color:rgba(47,27,22,0.52);
}

/* ============================= */
/* PREFERRED VENDORS */
/* ============================= */

.preferred-vendors{
padding:90px 28px 100px 28px;
background:var(--bg-vendors);
}

.preferred-vendors__inner{
max-width:var(--max-shell);
margin:0 auto;
}

.preferred-vendors__eyebrow{
margin:0 0 12px 0;
text-align:center;
font-family:'Jost', sans-serif;
font-size:12px;
font-weight:400;
letter-spacing:.30em;
text-transform:uppercase;
color:rgba(17,17,17,0.46);
}

.preferred-vendors__title{
margin:0;
text-align:center;
font-family:'Cormorant Garamond', serif;
font-size:48px;
font-weight:400;
line-height:1;
color:#111;
}

.preferred-vendors__intro{
max-width:760px;
margin:14px auto 0 auto;
text-align:center;
font-family:'Cormorant Garamond', serif;
font-size:21px;
line-height:1.2;
color:rgba(17,17,17,0.70);
}

.preferred-vendors__grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:28px;
margin-top:40px;
}

.preferred-vendors__column{
padding:30px 30px 26px 30px;
border:1px solid rgba(17,17,17,0.10);
background:rgba(255,255,255,0.16);
}

.preferred-vendors__category{
margin:0 0 18px 0;
font-family:'Cormorant Garamond', serif;
font-size:34px;
font-weight:400;
line-height:1;
color:#111;
}

.preferred-vendors__list{
display:flex;
flex-direction:column;
gap:12px;
}

.preferred-vendors__item{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:18px;
padding-top:12px;
border-top:1px solid rgba(17,17,17,0.10);
}

.preferred-vendors__item:first-child{
padding-top:0;
border-top:none;
}

.preferred-vendors__name{
font-family:'Cormorant Garamond', serif;
font-size:24px;
font-weight:400;
line-height:1.12;
color:#111;
}

.preferred-vendors__link{
flex-shrink:0;
font-family:'Jost', sans-serif;
font-size:10px;
font-weight:400;
letter-spacing:.24em;
text-transform:uppercase;
text-decoration:none;
color:#111;
border-bottom:1px solid rgba(17,17,17,0.24);
padding-bottom:4px;
transition:opacity .25s ease, border-color .25s ease;
}

.preferred-vendors__link:hover{
opacity:.72;
border-color:rgba(17,17,17,0.6);
}

/* ============================= */
/* CONTACT MODAL */
/* ============================= */

.contact-modal{
display:none;
position:fixed;
inset:0;
z-index:99999;
background:rgba(8,8,8,0.62);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
align-items:center;
justify-content:center;
padding:34px;
}

.contact-modal.open{
display:flex;
}

.contact-modal__panel{
position:relative;
width:min(92vw, 980px);
height:min(88vh, 860px);
background:#f3e9e1;
border-radius:18px;
overflow:hidden;
box-shadow:0 34px 90px rgba(0,0,0,0.22);
border:1px solid rgba(255,255,255,0.18);
display:flex;
flex-direction:column;
}

.contact-modal__close{
appearance:none;
border:none;
background:transparent;
color:#111;
font-size:24px;
line-height:1;
cursor:pointer;
padding:0;
margin:0;
}

.contact-modal__close--minimal{
position:absolute;
top:14px;
right:16px;
z-index:20;
width:32px;
height:32px;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,0.72);
border:1px solid rgba(17,17,17,0.06);
border-radius:50%;
box-shadow:0 6px 16px rgba(0,0,0,0.08);
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
transition:background .25s ease, transform .25s ease, opacity .25s ease, box-shadow .25s ease;
}

.contact-modal__close--minimal:hover{
background:rgba(255,255,255,0.94);
transform:scale(1.04);
opacity:1;
box-shadow:0 10px 22px rgba(0,0,0,0.10);
}

.contact-modal__body{
position:relative;
flex:1;
overflow:auto;
padding:0;
background:#efe4dc;
}

.contact-modal__embed{
width:100%;
min-height:100%;
}

/* ============================= */
/* FIT MODAL */
/* ============================= */

.fit-modal{
display:none;
position:fixed;
inset:0;
z-index:99998;
background:rgba(8,8,8,0.58);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
align-items:center;
justify-content:center;
padding:28px;
}

.fit-modal.open{
display:flex;
}

.fit-modal__panel{
position:relative;
width:min(92vw, 980px);
height:min(88vh, 860px);
background:#e6d8cf;
overflow:hidden;
box-shadow:0 30px 80px rgba(0,0,0,0.20);
display:flex;
flex-direction:column;
}

.fit-modal__close{
position:absolute;
top:14px;
right:16px;
width:34px;
height:34px;
border:none;
background:rgba(255,255,255,0.62);
color:#111;
font-size:20px;
cursor:pointer;
z-index:10;
}

.fit-modal__body{
flex:1;
overflow:auto;
padding:62px 54px 46px 54px;
}

.fit-modal__eyebrow{
margin:0 0 14px 0;
text-align:center;
font-family:'Jost', sans-serif;
font-size:13px;
letter-spacing:.28em;
text-transform:uppercase;
color:rgba(17,17,17,0.46);
}

.fit-modal__title{
margin:0;
text-align:center;
font-family:'Jost', sans-serif;
font-size:22px;
font-weight:300;
line-height:1.12;
letter-spacing:.08em;
text-transform:uppercase;
color:#111;
}

.fit-modal__intro{
max-width:760px;
margin:18px auto 0 auto;
text-align:center;
font-family:'Cormorant Garamond', serif;
font-size:20px;
font-weight:400;
line-height:1.24;
letter-spacing:.01em;
color:rgba(17,17,17,0.72);
}

.fit-modal__step{
max-width:840px;
margin:38px auto 0 auto;
}

.fit-modal__progress{
margin:0 0 14px 0;
font-family:'Jost', sans-serif;
font-size:11px;
letter-spacing:.24em;
text-transform:uppercase;
color:rgba(17,17,17,0.46);
text-align:center;
}

.fit-modal__question{
margin:0 0 24px 0;
text-align:center;
font-family:'Cormorant Garamond', serif;
font-size:30px;
font-weight:400;
line-height:1.08;
color:#111;
}

.fit-modal__options{
display:grid;
grid-template-columns:1fr;
gap:12px;
}

.fit-option{
width:100%;
text-align:left;
padding:22px 22px 20px 22px;
border:1px solid rgba(17,17,17,0.12);
background:rgba(255,255,255,0.12);
cursor:pointer;
transition:transform .25s ease, border-color .25s ease, background .25s ease, opacity .25s ease;
}

.fit-option:hover{
transform:translateY(-1px);
border-color:rgba(17,17,17,0.24);
background:rgba(255,255,255,0.20);
}

.fit-option__text{
display:block;
font-family:'Cormorant Garamond', serif;
font-size:22px;
font-weight:400;
line-height:1.18;
letter-spacing:.01em;
color:#111;
}

.fit-modal__nav{
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
margin-top:28px;
}

.fit-modal__nav button{
min-width:210px;
padding:15px 20px;
font-family:'Jost', sans-serif;
font-size:11px;
letter-spacing:.24em;
text-transform:uppercase;
cursor:pointer;
transition:transform .25s ease, opacity .25s ease, background .25s ease, border-color .25s ease;
}

.fit-modal__back{
background:transparent;
border:1px solid rgba(17,17,17,0.18);
color:#111;
}

.fit-modal__restart{
background:#111;
border:1px solid #111;
color:#e7d8cf;
}

.fit-modal__nav button:hover{
transform:translateY(-1px);
opacity:.92;
}

.fit-modal__result{
max-width:760px;
margin:38px auto 0 auto;
text-align:center;
display:none;
padding:32px 28px 26px 28px;
border:1px solid rgba(17,17,17,0.08);
}

.fit-modal__result.active{
display:block;
}

.fit-modal__result-label{
margin:0 0 10px 0;
font-family:'Jost', sans-serif;
font-size:11px;
letter-spacing:.24em;
text-transform:uppercase;
color:rgba(17,17,17,0.46);
}

.fit-modal__result-title{
margin:0;
font-family:'Jost', sans-serif;
font-size:22px;
font-weight:300;
line-height:1.16;
letter-spacing:.08em;
text-transform:uppercase;
color:#111;
}

.fit-modal__result-copy{
max-width:680px;
margin:18px auto 0 auto;
font-family:'Cormorant Garamond', serif;
font-size:22px;
font-weight:400;
line-height:1.22;
letter-spacing:.01em;
color:rgba(17,17,17,0.76);
text-align:center;
}

.fit-modal__result-actions{
display:flex;
justify-content:center;
gap:14px;
flex-wrap:wrap;
margin-top:30px;
}

.fit-modal__result-actions button{
min-width:240px;
padding:16px 24px;
font-family:'Jost', sans-serif;
font-size:12px;
letter-spacing:.28em;
text-transform:uppercase;
cursor:pointer;
transition:transform .25s ease, opacity .25s ease, background .25s ease;
}

.fit-modal__button--ghost{
background:transparent;
border:1px solid rgba(17,17,17,0.18);
color:#111;
}

.fit-modal__button--solid{
background:#111;
border:1px solid #111;
color:#e7d8cf;
}

.fit-modal__result-actions button:hover{
transform:translateY(-1px);
opacity:.92;
}

.fit-modal__result--good{
background:
radial-gradient(circle at top center, rgba(255,255,255,0.45), rgba(255,255,255,0.08) 60%),
linear-gradient(to bottom, rgba(216,201,180,0.40), rgba(255,255,255,0.08));
box-shadow:0 18px 50px rgba(201,162,95,0.10);
border-color:rgba(201,162,95,0.18);
}

.fit-modal__result--good .fit-modal__result-title{
color:#8b6737;
}

.fit-modal__result--good .fit-modal__button--solid{
background:#8b6737;
border-color:#8b6737;
color:#f4ede5;
}

.fit-modal__result--mid{
background:
radial-gradient(circle at top center, rgba(255,255,255,0.35), rgba(255,255,255,0.08) 60%),
linear-gradient(to bottom, rgba(182,170,161,0.28), rgba(255,255,255,0.08));
box-shadow:0 18px 50px rgba(55,45,40,0.08);
border-color:rgba(17,17,17,0.10);
}

.fit-modal__result--mid .fit-modal__result-title{
color:#5f5047;
}

.fit-modal__result--bad{
background:
radial-gradient(circle at top center, rgba(118,78,72,0.20), rgba(255,255,255,0.06) 60%),
linear-gradient(to bottom, rgba(112,84,79,0.16), rgba(255,255,255,0.06));
box-shadow:0 18px 50px rgba(74,46,43,0.10);
border-color:rgba(112,84,79,0.18);
}

.fit-modal__result--bad .fit-modal__result-title{
color:#714d48;
}

.fit-modal__result--bad .fit-modal__button--solid{
background:#714d48;
border-color:#714d48;
color:#f4ede5;
}

/* ============================= */
/* BAD FIT MODAL */
/* ============================= */

.badfit-modal{
display:none;
position:fixed;
inset:0;
z-index:99997;
background:rgba(8,8,8,0.58);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
align-items:center;
justify-content:center;
padding:28px;
}

.badfit-modal.open{
display:flex;
}

.badfit-modal__panel{
position:relative;
width:min(92vw, 980px);
height:min(88vh, 860px);
background:#e6d8cf;
overflow:hidden;
box-shadow:0 30px 80px rgba(0,0,0,0.20);
display:flex;
flex-direction:column;
}

.badfit-modal__close{
position:absolute;
top:14px;
right:16px;
width:34px;
height:34px;
border:none;
background:rgba(255,255,255,0.62);
color:#111;
font-size:20px;
cursor:pointer;
z-index:10;
}

.badfit-modal__body{
flex:1;
overflow:auto;
padding:62px 54px 46px 54px;
}

.badfit-modal__eyebrow{
margin:0 0 14px 0;
text-align:center;
font-family:'Jost', sans-serif;
font-size:13px;
letter-spacing:.28em;
text-transform:uppercase;
color:rgba(17,17,17,0.46);
}

.badfit-modal__title{
margin:0;
text-align:center;
font-family:'Jost', sans-serif;
font-size:22px;
font-weight:300;
line-height:1.16;
letter-spacing:.08em;
text-transform:uppercase;
color:#111;
}

.badfit-modal__copy{
max-width:760px;
margin:18px auto 0 auto;
text-align:center;
font-family:'Cormorant Garamond', serif;
font-size:22px;
font-weight:400;
line-height:1.22;
letter-spacing:.01em;
color:rgba(17,17,17,0.76);
}

.badfit-modal__form-wrap{
margin-top:30px;
background:rgba(255,255,255,0.14);
border:1px solid rgba(17,17,17,0.10);
padding:14px;
}

.badfit-modal__embed{
width:100%;
min-height:420px;
}

.badfit-modal__back{
margin:24px auto 0 auto;
display:inline-flex;
align-items:center;
justify-content:center;
min-width:240px;
padding:15px 20px;
font-family:'Jost', sans-serif;
font-size:11px;
letter-spacing:.24em;
text-transform:uppercase;
cursor:pointer;
background:transparent;
border:1px solid rgba(17,17,17,0.18);
color:#111;
transition:transform .25s ease, opacity .25s ease;
}

.badfit-modal__back:hover{
transform:translateY(-1px);
opacity:.92;
}

/* ============================= */
/* FOOTER */
/* ============================= */

.site-footer{
background:var(--footer);
color:#f2e8e0;
padding:30px 34px 24px 34px;
overflow:hidden;
}

.footer-inner{
max-width:var(--max-wide);
margin:0 auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:40px;
min-height:170px;
}

.footer-left{
position:relative;
width:260px;
min-width:260px;
height:170px;
flex-shrink:0;
overflow:visible;
}

.footer-logo{
position:absolute;
top:50%;
left:50%;
width:400px;
height:auto;
max-width:none;
transform:translate(-50%,-58%);
display:block;
}

.footer-copy{
position:absolute;
left:0;
bottom:6px;
font-size:13px;
line-height:1.5;
color:rgba(255,255,255,0.8);
white-space:nowrap;
font-family:'Jost', sans-serif;
}

.footer-right{
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:flex-end;
gap:0;
row-gap:12px;
min-width:0;
}

.footer-item{
display:inline-flex;
align-items:center;
gap:10px;
padding:0 14px;
color:#f2e8e0;
text-decoration:none;
font-family:'Jost', sans-serif;
font-size:13px;
letter-spacing:.03em;
line-height:1;
white-space:nowrap;
border-left:1px solid rgba(255,255,255,0.22);
}

.footer-item:first-child{
border-left:none;
padding-left:0;
}

.footer-item:hover{
opacity:.78;
}

.footer-icon{
width:16px;
height:16px;
display:inline-flex;
align-items:center;
justify-content:center;
flex-shrink:0;
}

.footer-icon svg{
width:16px;
height:16px;
fill:currentColor;
display:block;
}

/* ============================= */
/* VIDEO MODAL */
/* ============================= */

.modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.96);
z-index:9999;
align-items:center;
justify-content:center;
padding:30px;
}

.modal.open{
display:flex;
}

.modal iframe{
width:min(90%, 1400px);
height:min(80%, 800px);
border:none;
}

.close{
position:absolute;
top:30px;
right:40px;
color:white;
font-size:30px;
cursor:pointer;
line-height:1;
background:none;
border:none;
padding:0;
}

/* ============================= */
/* MOBILE */
/* ============================= */

@media(max-width:1000px){

.menu{
padding:0;
height:0;
justify-content:flex-end;
}

.brand-layer{
top:var(--brand-top-mobile);
left:var(--brand-left-mobile);
width:132px;
height:72px;
transform:translateX(-50%);
}

.brand-logo{
width:240px;
transform:translate(-50%,-50%);
}

.desktop-nav{
display:none;
}

.menu-toggle{
display:block;
}

.mobile-panel{
display:block;
}

.mobile-backdrop{
display:block;
}

.hero{
min-height:100svh;
height:100svh;
}

.hero-text-wrapper{
  min-height:100svh;
  height:100svh;
}

.hero video{
object-position:54% center;
filter:brightness(1.14) contrast(0.95) saturate(0.9);
}

.hero::after{
background:
linear-gradient(to bottom, rgba(0,0,0,0.04) 0%, rgba(0,0,0,0.10) 42%, rgba(0,0,0,0.20) 100%);
}

.overlay{
top:66%;
left:50%;
transform:translate(-50%,-50%);
width:88%;
max-width:88%;
padding:0;
background:none;
}

.overlay h1{
font-size:26px;
letter-spacing:.22em;
line-height:1.18;
font-weight:300;
margin:0;
text-shadow:0 8px 20px rgba(0,0,0,.18);
}

.hero-black{
color:white;
font-weight:300;
}

.overlay h1 .gold{
color:#c19751;
font-weight:400;
text-shadow:none;
}

.overlay p{
color:white;
font-size:18px;
font-weight:400;
letter-spacing:0;
line-height:1.16;
margin-top:12px;
max-width:270px;
margin-left:auto;
margin-right:auto;
text-shadow:0 8px 20px rgba(0,0,0,.16);
}

.hero-cta-wrap{
margin-top:40px;
}

.hero-cta{
min-width:100%;
padding:14px 18px;
font-size:11px;
letter-spacing:.24em;
background:rgba(255,255,255,0.92);
color:#111;
border:1px solid rgba(255,255,255,0.92);
}

.portfolio-wrapper{
width:100%;
max-width:100%;
padding:46px 0 36px 0;
overflow:clip;
}

.intro-signature{
padding:0 12px 18px 12px;
}

.intro-signature__eyebrow{
font-size:38px;
line-height:1;
}

.intro-signature__subtext{
font-size:18px;
line-height:1.12;
margin-top:8px;
max-width:280px;
}

.hero-film{
width:100%;
max-width:100%;
aspect-ratio:2.35/1;
}

.hero-film iframe{
top:45%;
left:50%;
width:100%;
height:135%;
transform:translate(-50%,-50%);
}

.featured-proof{
padding:26px 14px 14px 14px;
}

.featured-proof__title{
font-size:19px;
line-height:1.04;
max-width:220px;
}

.featured-proof__divider{
width:46px;
margin:8px auto;
}

.featured-proof__row{
width:100%;
max-width:210px;
gap:8px;
margin-bottom:8px;
}

.featured-proof__seal img{
max-width:46px;
}

.featured-proof__seal--center img{
max-width:54px;
}

.featured-proof__copy{
font-size:8px;
line-height:1.28;
max-width:210px;
}

.films-carousel{
margin-top:8px;
padding-bottom:58px;
}

.films-viewport{
overflow:hidden;
width:100%;
}

.portfolio-grid{
display:flex;
gap:0;
width:100%;
transition:transform .55s cubic-bezier(.22,1,.36,1);
will-change:transform;
}

.film{
width:100%;
max-width:100%;
min-width:100%;
aspect-ratio:16/10;
min-height:240px;
}

.play{
opacity:.72;
width:48px;
height:48px;
border:1.5px solid rgba(184,149,95,0.88);
background:rgba(0,0,0,0.06);
}

.play:after{
font-size:16px;
color:#f3e6d2;
}

.film-title{
opacity:1;
font-size:20px;
bottom:14px;
left:14px;
color:#f5efe8;
}

.film:active img{
transform:scale(1.04);
}

.film:active .play{
opacity:1;
transform:translate(-50%,-50%) scale(1.08);
border-color:#d6b676;
background:rgba(0,0,0,0.18);
}

.reserved-click{
font-size:12px;
letter-spacing:.28em;
}

.reserved-text{
font-size:26px;
white-space:normal;
width:80%;
}

.films-arrow{
display:flex;
position:absolute;
bottom:0;
width:40px;
height:40px;
border:none;
background:transparent;
align-items:center;
justify-content:center;
cursor:pointer;
padding:0;
z-index:3;
}

.films-arrow svg{
width:26px;
height:26px;
stroke:#111;
stroke-width:1.05;
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
}

.films-arrow--prev{ left:calc(50% - 54px); }
.films-arrow--next{ right:calc(50% - 54px); }

.films-dots{
display:flex;
justify-content:center;
gap:8px;
margin-top:18px;
}

.films-dot{
width:8px;
height:8px;
border-radius:50%;
border:1px solid rgba(17,17,17,0.28);
background:transparent;
padding:0;
}

.films-dot.active{
background:#111;
}

.offer-section{
margin-top:24px;
min-height:760px;
}

.offer-section video{
object-position:center center;
filter:brightness(.56) contrast(1.02) saturate(.86);
}

.offer-overlays {
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(to bottom, rgba(10,10,10,0.18) 0%, rgba(10,10,10,0.34) 26%, rgba(10,10,10,0.54) 58%, rgba(10,10,10,0.68) 100%);
}

.offer-section__inner{
min-height:760px;
padding:72px 22px 42px 22px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:flex-start;
gap:0;
}

.offer-section__side{
display:none;
}

.offer-section__side-title{
display:none;
}

.offer-section__main{
width:100%;
max-width:100%;
}

.offer-section__eyebrow{
margin:0 0 14px 0;
font-size:10px;
letter-spacing:.26em;
text-align:left;
color:rgba(255,255,255,0.54);
}

.offer-section__headline{
max-width:100%;
font-size:48px;
line-height:.94;
letter-spacing:-.04em;
text-align:left;
}

.offer-section__underline{
width:92px;
margin:18px 0 0 0;
}

.offer-section__copy{
margin-top:34px;
max-width:100%;
}

.offer-section__copy p{
font-size:27px;
line-height:1.04;
text-align:justify;
text-justify:inter-word;
}

.offer-section__copy p + p{
margin-top:18px;
font-size:20px;
line-height:1.24;
text-align:justify;
text-justify:inter-word;
color:rgba(243,236,229,0.86);
}

.offer-section__micro{
margin-top:26px;
font-size:10px;
letter-spacing:.24em;
}

.offer-section__floating-note{
position:relative;
right:auto;
bottom:auto;
margin-top:28px;
width:100%;
max-width:100%;
padding:14px 14px 12px 14px;
background:rgba(255,255,255,0.07);
}

.offer-section__floating-note p{
font-size:9px;
line-height:1.65;
letter-spacing:.12em;
text-align:justify;
text-justify:inter-word;
}

.section-divider--about,
.section-divider--process,
.section-divider--testimonials,
.section-divider--vendors{
height:1px;
}

.about-dark{
padding:44px 14px 56px 14px;
}

.about-kicker{
margin:0 auto 24px auto;
font-size:12px;
letter-spacing:.22em;
}

.about-dark-grid{
grid-template-columns:1fr;
gap:22px;
}

.about-dark-image{
position:relative;
top:auto;
height:360px;
margin-bottom:24px;
overflow:hidden;
}

.about-dark-image img{
width:100%;
height:100%;
object-fit:cover;
object-position:center top;
}

.about-dark-title{
font-size:36px;
line-height:1;
margin-bottom:14px;
}

.about-dark-lead{
font-size:22px;
line-height:1.12;
margin-bottom:16px;
}

.about-dark-text p{
font-size:17px;
line-height:1.34;
}

.about-dark-quote{
font-size:22px;
line-height:1.14;
padding-left:16px;
margin-bottom:20px;
}

.about-dark-point{
font-size:13px;
line-height:1.65;
padding-top:10px;
}

.about-dark-bottom{
min-height:auto;
padding-top:16px;
align-items:center;
}

.about-dark-closing{
font-size:24px;
text-align:center;
margin-bottom:16px;
max-width:320px;
line-height:1.1;
}

.about-dark-button{
min-width:100%;
padding:17px 22px;
font-size:11px;
letter-spacing:.28em;
}

.fit-cta-strip{
padding:46px 14px 50px 14px;
}

.fit-cta-strip__eyebrow{
font-size:11px;
letter-spacing:.22em;
}

.fit-cta-strip__title{
font-size:32px;
line-height:1;
}

.fit-cta-strip__text{
font-size:18px;
line-height:1.14;
max-width:310px;
}

.fit-cta-strip__button{
width:100%;
min-width:100%;
padding:16px 18px;
font-size:11px;
letter-spacing:.24em;
}

.process-section{
padding:76px 14px 82px 14px;
}

.process-heading{
margin-bottom:40px;
}

.process-title{
font-size:34px;
line-height:1;
}

.process-intro{
font-size:18px;
line-height:1.14;
max-width:320px;
}

.process-list{
gap:40px;
}

.process-row,
.process-row--right{
grid-template-columns:1fr;
gap:12px;
min-height:auto;
justify-items:center;
text-align:center;
}

.process-row--right .process-media-wrap,
.process-row--right .process-copy{
order:initial;
text-align:center;
margin-left:0;
}

.process-icon-card{
width:176px;
height:176px;
min-width:176px;
margin:0 auto;
transform:translateY(18px);
}

.process-row--right .process-icon-card{
transform:translateY(18px);
}

.process-icon-number{
display:none !important;
}

.process-icon-svg{
width:74px;
height:74px;
}

.process-icon-svg svg{
width:74px;
height:74px;
}

.process-copy{
max-width:100%;
}

.process-copy h3{
font-size:28px;
margin-bottom:10px;
}

.process-copy p{
font-size:18px;
line-height:1.22;
max-width:320px;
margin:0 auto;
}

.testimonials-section{
padding:56px 14px 70px 14px;
}

.testimonials-title{
font-size:34px;
line-height:1;
margin-bottom:14px;
}

.testimonials-intro{
font-size:18px;
line-height:1.14;
max-width:300px;
}

.testimonials-carousel{
padding:0;
margin-top:28px;
}

.testimonials-viewport{
overflow:hidden;
width:100%;
}

.testimonials-track{
display:flex;
width:100%;
}

.testimonial-slide{
min-width:100%;
width:100%;
display:block;
}

.testimonial-layout{
width:100%;
min-height:auto;
display:block;
}

.testimonial-photo{
display:none;
}

.testimonial-card{
position:relative;
right:auto;
top:auto;
transform:none;
width:100%;
margin-top:0;
padding:24px 20px 20px 20px;
box-shadow:none;
}

.testimonial-quote-mark{
font-size:42px;
margin-bottom:8px;
}

.testimonial-quote{
font-size:22px;
line-height:1.12;
margin-bottom:14px;
display:-webkit-box;
-webkit-line-clamp:5;
-webkit-box-orient:vertical;
overflow:hidden;
}

.testimonial-name{
font-size:24px;
}

.testimonial-label{
font-size:10px;
letter-spacing:.18em;
}

.testimonials-arrow{
top:auto;
bottom:-52px;
transform:none;
width:40px;
height:40px;
}

.testimonials-arrow:hover{
transform:none;
}

.testimonials-arrow svg{
width:28px;
height:28px;
stroke-width:1.05;
}

.testimonials-arrow--prev{ left:calc(50% - 56px); }
.testimonials-arrow--next{ right:calc(50% - 56px); }

.testimonials-dots{
margin-top:54px;
gap:8px;
}

.brand-recognition{
padding:54px 14px 56px 14px;
}

.brand-recognition__card{
grid-template-columns:1fr;
gap:20px;
padding:26px 20px;
}

.brand-recognition__logo-wrap{
border-right:none;
border-bottom:1px solid rgba(17,17,17,0.08);
min-height:auto;
padding:10px 0 20px 0;
}

.brand-recognition__logo{
max-width:150px;
max-height:90px;
}

.brand-recognition__title{
font-size:30px;
line-height:1.04;
text-align:center;
}

.brand-recognition__text{
font-size:20px;
line-height:1.16;
text-align:center;
}

.brand-recognition__link{
display:block;
width:fit-content;
margin:18px auto 0 auto;
}

.preferred-vendors{
padding:56px 14px 68px 14px;
}

.preferred-vendors__title{
font-size:34px;
}

.preferred-vendors__intro{
font-size:18px;
line-height:1.14;
max-width:300px;
}

.preferred-vendors__grid{
grid-template-columns:1fr;
gap:18px;
}

.preferred-vendors__column{
padding:24px 18px 20px 18px;
}

.preferred-vendors__category{
font-size:28px;
}

.preferred-vendors__item{
flex-direction:column;
gap:8px;
}

.preferred-vendors__name{
font-size:22px;
}

.contact-modal{
padding:0;
}


.contact-modal__panel{
width:100%;
height:100%;
max-width:none;
max-height:none;
border-radius:0;
}

.contact-modal__body{
padding:0;
}

.fit-modal{
padding:0;
}

.fit-modal__panel{
width:100%;
height:100%;
}

.fit-modal__body{
padding:52px 18px 26px 18px;
}

.fit-modal__eyebrow{
font-size:11px;
letter-spacing:.22em;
}

.fit-modal__title{
font-size:18px;
line-height:1.14;
letter-spacing:.08em;
}

.fit-modal__intro{
font-size:18px;
line-height:1.18;
max-width:300px;
}

.fit-modal__step{
margin-top:24px;
}

.fit-modal__question{
font-size:24px;
line-height:1.08;
margin-bottom:16px;
}

.fit-option{
padding:18px 16px;
}

.fit-option__text{
font-size:20px;
line-height:1.14;
}

.fit-modal__nav{
flex-direction:column;
gap:10px;
}

.fit-modal__nav button{
width:100%;
min-width:100%;
}

.fit-modal__result{
padding:24px 18px 20px 18px;
}

.fit-modal__result-title{
font-size:18px;
line-height:1.16;
letter-spacing:.08em;
}

.fit-modal__result-copy{
font-size:20px;
line-height:1.18;
max-width:320px;
}

.fit-modal__result-actions{
flex-direction:column;
gap:10px;
}

.fit-modal__result-actions button{
width:100%;
min-width:100%;
}

.badfit-modal{
padding:0;
}

.badfit-modal__panel{
width:100%;
height:100%;
}

.badfit-modal__body{
padding:52px 18px 26px 18px;
}

.badfit-modal__eyebrow{
font-size:11px;
letter-spacing:.22em;
}

.badfit-modal__title{
font-size:18px;
line-height:1.16;
letter-spacing:.08em;
}

.badfit-modal__copy{
font-size:20px;
line-height:1.18;
max-width:320px;
}

.badfit-modal__form-wrap{
padding:10px;
margin-top:24px;
}

.badfit-modal__back{
width:100%;
min-width:100%;
}

.site-footer{
padding:24px 18px 30px 18px;
}

.footer-inner{
flex-direction:column;
align-items:stretch;
gap:18px;
min-height:auto;
}

.footer-left{
position:relative;
width:100%;
min-width:0;
height:74px;
overflow:visible;
display:flex;
align-items:center;
justify-content:space-between;
}

.footer-logo{
position:relative;
top:auto;
left:auto;
width:170px;
height:auto;
max-width:170px;
transform:none;
display:block;
}

.footer-copy{
position:relative;
left:auto;
bottom:auto;
font-size:12px;
line-height:1.35;
white-space:normal;
text-align:right;
max-width:150px;
}

.footer-right{
justify-content:center;
}

.footer-item{
padding:0 10px;
font-size:12px;
}

.footer-item:nth-child(odd){
border-left:none;
padding-left:0;
}

.modal{
padding:0;
}

.modal iframe{
width:100%;
height:60%;
}

.close{
top:20px;
right:20px;
font-size:28px;
}

}
