@font-face {
  font-family: "Elape Serif";
  src: local("GFS Didot");
  font-display: swap;
}
@font-face {
  font-family: "Elape Sans";
  src: local("Inter");
  font-display: swap;
}

:root {
  --ivory: #F6F1E8;
  --ink: #1A1A1A;
  --gold: #C8A96A;
  --stone: #E7E0D6;
  --warm-gray: #B8B0A6;
  --white: #FFFCF6;
  --container: 1200px;
  --page-pad: clamp(24px, 8.333vw, 120px);
  --section-y: clamp(88px, 8.333vw, 120px);
  --gap: 48px;
  --serif: "Canela Display", "Canela", "Elape Serif", "GFS Didot", "Times New Roman", serif;
  --sans: "Suisse Intl", "Suisse International", "Elape Sans", "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
/* img { display: block; width: 100%; height: 100%; object-fit: cover; } */
img {
  max-width: 100%;
  height: auto;
  display: block;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  height: 80px;
  padding: 0 var(--page-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: color-mix(in srgb, var(--ivory) 88%, transparent);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid color-mix(in srgb, var(--gold) 35%, transparent);
}
.wordmark, .footer-wordmark {
  font-family: var(--serif);
  letter-spacing: .18em;
  font-weight: 400;
}
.wordmark { font-size: 26px; }
.desktop-nav { display: flex; gap: 34px; }
.desktop-nav a {
  font-size: 13px;
  letter-spacing: .10em;
  text-transform: uppercase;
  position: relative;
}
.desktop-nav .close {
  cursor: pointer;
  display: none;
  width: 32px;
  height: 32px;
  position: relative;
}
.desktop-nav  .close span{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 2px;
    background: #1a1a1a;
    transform-origin: center;
}
.desktop-nav  .close span:first-child{
    transform: translate(-50%, -50%) rotate(45deg);
}
.desktop-nav  .close span:last-child{
    transform: translate(-50%, -50%) rotate(-45deg);
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0; right: 100%; bottom: -7px;
  height: 1px; background: var(--gold);
  transition: right .4s ease;
}
.desktop-nav a:hover::after { right: 0; }
.menu-button { display: none; border: 0; background: transparent; padding: 8px; }
.menu-button span { display:block; width:24px; height:1px; background:var(--ink); margin:5px 0; }

.hero {
  min-height: 100vh;
  padding: 132px var(--page-pad) 72px;
  display: grid;
  grid-template-columns: minmax(420px, .88fr) minmax(520px, 1.12fr);
  gap: clamp(48px, 5vw, 76px);
  align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.hero-copy { align-self: center; padding-left: clamp(0px, 3vw, 44px); }
.eyebrow, .section-index, .collection-number {
  margin: 0 0 28px;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--warm-gray);
}
.hero h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(72px, 8vw, 116px);
  line-height: .95;
  font-weight: 400;
  letter-spacing: .16em;
}
.signature {
  font-family: var(--serif);
  font-size: 26px;
  font-style: italic;
  line-height: 1.35;
  color: var(--gold);
}
.hero .signature { margin: 38px 0 60px; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-size: 13px;
  letter-spacing: .11em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 10px;
}
.text-link span { font-size: 17px; color: var(--gold); }
.hero-visual {
  margin: 0;
  height: min(78vh, 860px);
  max-height: 900px;
  aspect-ratio: 4/5;
  justify-self: end;
  box-shadow: 0 30px 80px rgba(75, 58, 32, .09);
  background: #f4eee5;
  overflow: hidden;
}
.hero-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-mark {
  position: absolute;
  left: calc(var(--page-pad) - 12px);
  bottom: 42px;
  font-family: var(--serif);
  font-size: 220px;
  color: color-mix(in srgb, var(--gold) 10%, transparent);
  line-height: .7;
  pointer-events: none;
}

.section {
  padding: var(--section-y) var(--page-pad);
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
}
.split {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 560px) minmax(0, 592px);
  gap: var(--gap);
  align-items: center;
}
.split.reverse { grid-template-columns: minmax(0, 592px) minmax(0, 560px); }
.section-copy { max-width: 560px; }
.section-copy h2, .center-heading h2, .emblem-copy h2, .woman-copy h2, .experience-copy h2, .transmission-copy h2, .contact-intro h2 {
  margin: 0 0 32px;
  font-family: var(--serif);
  font-size: clamp(44px, 4.2vw, 62px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -.015em;
}
.section-copy p { margin: 0 0 20px; }
.section-copy .signature { margin-top: 38px; }
.manifesto-lines {
  font-family: var(--serif);
  font-size: 28px;
  line-height: 1.42;
}
.manifesto-lines.larger { font-size: 34px; line-height: 1.48; }
.media-frame {
  margin: 0;
  /* aspect-ratio: 4/5; */
  max-height: 820px;
  overflow: hidden;
  background: var(--stone);
}
/* .media-frame img { object-position: center; }
.portrait-frame img { object-position: 48% 35%; }
.crop-detail img { transform: scale(1.14); object-position: 42% 28%; } */

.house-section { padding-top: 150px; padding-bottom: 150px; }
.house-grid { display: grid; grid-template-columns: 1fr; gap: 68px; }
.wide-copy { max-width: 760px; margin-left: 8.33%; }
.architecture-wide { margin: 0; /* height: min(66vw, 760px); max-height: 760px; overflow: hidden; */ }
/* .architecture-wide img { object-position: center 47%; } */
.architecture-wide img { display: block; margin: 0 auto; }

.codes-section { padding-top: 150px; padding-bottom: 160px; }
.center-heading { max-width: 720px; margin: 0 auto 72px; text-align: center; }
.center-heading p:last-child { margin-top: 24px; color: #5f5a54; }
.codes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
}
.code-card { padding: 50px 46px 56px; min-height: 300px; }
.code-card + .code-card { border-left: 1px solid var(--gold); }
.code-card span { font-size: 12px; letter-spacing: .16em; color: var(--warm-gray); }
.code-card h3, .material-columns h3, .collection-card h3 {
  font-family: var(--serif);
  font-weight: 400;
}
.code-card h3 { font-size: 38px; margin: 48px 0 20px; }
.code-card p { margin: 0; }
.jewel-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; }
.jewel-strip figure { margin: 0; 
  /* aspect-ratio: 1/1; */
  overflow: hidden; background:#f4eee5; }

.pillars-section { background: var(--white); max-width: none; padding-left: max(var(--page-pad), calc((100vw - 1440px)/2 + var(--page-pad))); padding-right: max(var(--page-pad), calc((100vw - 1440px)/2 + var(--page-pad))); }
/* .macro-frame img { object-position: center; } */

.material-section { max-width: none; background: var(--stone); padding-left: max(var(--page-pad), calc((100vw - 1440px)/2 + var(--page-pad))); padding-right: max(var(--page-pad), calc((100vw - 1440px)/2 + var(--page-pad))); }
.material-grid { max-width: 1200px; margin: 0 auto; display:grid; grid-template-columns:minmax(0,560px) minmax(0,592px); gap:48px; align-items:center; min-height:calc(100vh - 240px); }
.material-columns { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:36px 0; padding:30px 0; border-top:1px solid rgba(200,169,106,.7); border-bottom:1px solid rgba(200,169,106,.7); }
.material-columns h3 { font-size: 20px; margin:0 0 12px; }
.material-columns p { margin:0; }
.material-visual { margin:0; 
  /* aspect-ratio:4/5; */
  overflow:hidden; }
/* .material-visual img { object-position:center; } */

.force-section { min-height: 100vh; display:flex; flex-direction:column; justify-content:center; }
.section-index.center { text-align:center; }
.duality-grid { display:grid; grid-template-columns:1fr 1px 1fr; gap:56px; align-items:stretch; }
.duality-grid article { text-align:center; padding: 20px 48px; }
.duality-grid h2 { font-family:var(--serif); font-size:60px; font-weight:400; margin:0 0 22px; }
.duality-grid p { font-family:var(--serif); font-size:26px; line-height:1.5; }
.duality-grid figure { margin:44px auto 0; max-width:400px; 
  /* aspect-ratio:1/1; */
}
.vertical-rule { background:var(--gold); opacity:.7; }

.woman-section { max-width:none; min-height:100vh; display:grid; grid-template-columns:1fr 1fr; padding:0; background:var(--ink); color:var(--ivory); }
.woman-visual { min-height:100vh; overflow:hidden; }
.woman-visual img { object-position:45% 35%;

width: 100%; height: 100%; object-fit: cover;
}
.woman-copy { max-width:650px; padding:140px clamp(48px,8vw,120px); align-self:center; }
.woman-copy .section-index { color:rgba(246,241,232,.55); }
.woman-copy h2 { color:var(--ivory); }
.woman-copy p { max-width:530px; }
.woman-copy .manifesto-lines { color:#efe9de; }

.collections-section { padding-top:160px; padding-bottom:170px; }
.collection-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.collection-card { min-width:0; }
.collection-card figure { margin:0 0 34px; 
  /* aspect-ratio:4/5; */
  overflow:hidden; background:#f3ede4; }
/* .collection-card figure img { object-fit:cover; } */
.collection-card h3 { font-size:38px; margin:10px 0 14px; }
.collection-card p { margin:0 0 12px; }
.collection-card a { display:inline-block; margin-top:18px; padding-bottom:6px; font-size:13px; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid var(--gold); }

.button {
  min-width: 240px;
  height: 52px;
  padding: 0 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .3s ease, background .3s ease, color .3s ease;
}
.button:hover { transform: translateY(-2px); }
.button-secondary { margin-top:24px; border:1px solid var(--gold); }
.button-primary, .gform_button  { border:1px solid var(--ink)!important; background:var(--ink)!important; color:var(--ivory)!important; cursor:pointer; }
.button-light { background:var(--ivory); color:var(--ink); }

.emblem-section { min-height:110vh; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; }
.emblem-copy { max-width:650px; }
.emblem-copy p { margin:0 0 16px; }
.emblem-visual { margin:70px 0 36px; width:min(640px,62vw); 
  /* aspect-ratio:1/1; */
}
.emblem-signature { margin:0; }

.consultation-section { max-width:none; min-height:100vh; padding:0; display:flex; align-items:center; justify-content:center; overflow:hidden; color:var(--ivory); }
.consultation-bg, .consultation-overlay { position:absolute; inset:0; width:100%; height:100%; }
.consultation-bg {
  width: 100%; height: 100%; object-fit: cover;
}
.consultation-bg { 
  /* object-position:center 45%; */
  object-position:center bottom;
}
.consultation-overlay { z-index:1; background:linear-gradient(90deg, rgba(20,16,12,.80), rgba(20,16,12,.28) 60%, rgba(20,16,12,.16)); }
.consultation-card { position:relative; z-index:2; width:min(560px,calc(100% - 48px)); margin-right:min(45vw,600px); padding:80px 72px; background:rgba(26,26,26,.70); backdrop-filter:blur(9px); border:1px solid rgba(200,169,106,.55); }
.section-index.light { color:rgba(246,241,232,.6); }
.consultation-card h2 { font-family:var(--serif); font-weight:400; font-size:58px; line-height:1.05; margin:0 0 28px; }
.consultation-card p { margin:0 0 20px; }
.price-block { border-top:1px solid rgba(200,169,106,.8); border-bottom:1px solid rgba(200,169,106,.8); margin:34px 0 18px; padding:24px 0; display:grid; grid-template-columns:1fr auto; align-items:end; }
.price-block span { font-size:13px; letter-spacing:.1em; text-transform:uppercase; }
.price-block strong { grid-row:1 / span 2; grid-column:2; font-family:var(--serif); font-size:52px; font-weight:400; }
.price-block small { font-size:14px; color:rgba(246,241,232,.72); }
.consultation-note { font-size:14px; color:rgba(246,241,232,.72); }

.experience-section { min-height:100vh; display:grid; grid-template-columns:480px 1fr; gap:72px; align-items:center; }
.experience-copy { padding-left:44px; }
.experience-copy p { margin:0 0 16px; }
.keywords { display:flex; flex-direction:column; margin-top:44px; border-top:1px solid var(--gold); }
.keywords span { font-family:var(--serif); font-size:32px; padding:16px 0; border-bottom:1px solid rgba(200,169,106,.55); }
.experience-visual { margin:0; height:min(78vh,900px); overflow:hidden; }
/* .experience-visual img { object-position:center 42%; } */

.transmission-section { min-height:100vh; display:grid; grid-template-columns:520px 1fr; gap:70px; align-items:center; }
.transmission-copy p { margin:0 0 20px; }
.transmission-jewels { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.transmission-jewels figure { margin:0; 
  /* aspect-ratio:1/1; */
  overflow:hidden; }
.transmission-jewels .large { grid-column:1 / -1; 
  /* aspect-ratio:2/1; */
 }
/* .transmission-jewels .large img { object-fit:contain; background:#eee8de; } */

.contact-section { min-height:100vh; display:grid; grid-template-columns:480px 1fr; gap:100px; align-items:start; padding-top:170px; padding-bottom:170px; border-top:1px solid rgba(200,169,106,.55); }
.contact-intro { position:sticky; top:140px; }
.contact-intro p { margin:0 0 22px; }
.contact-form { display:grid; gap:26px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.contact-form label { display:grid; gap:9px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.contact-form label span { color:var(--warm-gray); text-transform:none; letter-spacing:0; }
.contact-form input, .contact-form select, .contact-form textarea {
  width:100%; border:0; border-bottom:1px solid var(--warm-gray); background:transparent; color:var(--ink); padding:12px 2px 14px; outline:none; border-radius:0;
}
.contact-form textarea { resize:vertical; min-height:120px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--gold); }
.contact-form .button { margin-top:20px; }

.site-footer { background:var(--ink); color:var(--ivory); padding:110px var(--page-pad) 34px; }
.footer-main { max-width:1200px; margin:0 auto 90px; display:flex; justify-content:space-between; gap:80px; }
.footer-wordmark { margin:0 0 32px; font-size:64px; }
.footer-statement { font-family:var(--serif); font-size:30px; line-height:1.42; max-width:650px; }
.footer-links { display:grid; align-content:start; gap:14px; min-width:220px; }
.footer-links a { font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,241,232,.75); }
.footer-bottom { max-width:1200px; margin:0 auto; padding-top:28px; border-top:1px solid rgba(200,169,106,.45); display:flex; gap:28px; justify-content:space-between; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(246,241,232,.55); }

@media (max-width: 980px) {
  :root { --page-pad: 40px; }
  .desktop-nav{
    display:none;
    opacity:0;
    transition:opacity .3s ease;

    padding: 30px;
  }
  .desktop-nav > * {
    display: block;
    margin-bottom: 20px;
  }
  .desktop-nav.is-visible{
    display:block;
    opacity:1;
  }
  .desktop-nav .close { display:block; }
  .desktop-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgb(246, 241, 232);
    z-index: 10;
  }
  .menu-button { display:block; }
  .hero { grid-template-columns:1fr; padding-top:120px; }
  .hero-copy { text-align:center; padding:20px 0 0; }
  .hero-visual { justify-self:center; width:min(620px,100%); height:auto; }
  .hero-mark { display:none; }
  .split, .split.reverse, .material-grid, .experience-section, .transmission-section, .contact-section { grid-template-columns:1fr; }
  .split.reverse .media-frame { order:2; }
  .section-copy, .wide-copy { max-width:680px; margin-left:0; }
  .media-frame { width:min(680px,100%); }
  .codes-grid { grid-template-columns:1fr; }
  .code-card + .code-card { border-left:0; border-top:1px solid var(--gold); }
  .collection-grid { grid-template-columns:1fr; max-width:680px; margin:0 auto; gap:80px; }
  .woman-section { grid-template-columns:1fr; }
  .woman-visual { min-height:70vh; }
  .woman-copy { max-width:none; }
  .consultation-card { margin:0; }
  .experience-copy { padding-left:0; }
  .contact-intro { position:static; }
  .footer-main { flex-direction:column; }
}

@media (max-width: 640px) {
  body { font-size:16px; }
  :root { --page-pad:24px; --section-y:88px; --gap:36px; }
  .site-header { height:68px; }
  .wordmark { font-size:22px; }
  .hero { min-height:auto; padding:112px 24px 88px; gap:42px; }
  .hero h1 { font-size:56px; letter-spacing:.14em; }
  .hero .signature { margin:26px 0 38px; font-size:23px; }
  .hero-visual { width:100%; aspect-ratio:4/5; }
  .section { padding:88px 24px; }
  .split { min-height:auto; gap:42px; }
  .section-copy h2, .center-heading h2, .emblem-copy h2, .woman-copy h2, .experience-copy h2, .transmission-copy h2, .contact-intro h2 { font-size:36px; }
  .manifesto-lines { font-size:24px; }
  .manifesto-lines.larger { font-size:28px; }
  .signature { font-size:22px; }
  .media-frame { width:100%; 
    /* aspect-ratio:4/5; */
  }
  .wide-copy { margin:0; }
  .architecture-wide { height:auto; 
    /* aspect-ratio:4/5; */
  }
  .center-heading { margin-bottom:50px; }
  .codes-section { padding-top:96px; padding-bottom:96px; }
  .code-card { padding:38px 26px 42px; min-height:auto; }
  .code-card h3 { margin:32px 0 14px; font-size:32px; }
  .jewel-strip { grid-template-columns:1fr; }
  .material-grid { min-height:auto; }
  .material-columns { grid-template-columns:1fr; }
  .duality-grid { grid-template-columns:1fr; gap:70px; }
  .vertical-rule { width:100%; height:1px; }
  .duality-grid article { padding:0; }
  .duality-grid h2 { font-size:44px; }
  .woman-visual { min-height:68vh; }
  .woman-copy { padding:88px 24px; }
  .collections-section { padding-top:96px; padding-bottom:110px; }
  .collection-grid { gap:64px; }
  .emblem-section { min-height:auto; padding-top:110px; padding-bottom:110px; }
  .emblem-visual { width:100%; margin:50px 0 24px; }
  .consultation-section { min-height:920px; padding:88px 24px; }
  .consultation-overlay { background:rgba(20,16,12,.55); }
  .consultation-card { width:100%; padding:54px 28px; }
  .consultation-card h2 { font-size:42px; }
  .price-block strong { font-size:40px; }
  .experience-section, .transmission-section, .contact-section { min-height:auto; gap:48px; }
  .experience-visual { height:auto; 
    /* aspect-ratio:4/5; */
  }
  .keywords span { font-size:27px; }
  .transmission-jewels { grid-template-columns:1fr; }
  .transmission-jewels .large { grid-column:auto; 
    /* aspect-ratio:1/1; */
  }
  .field-row { grid-template-columns:1fr; gap:26px; }
  .contact-section { padding-top:110px; padding-bottom:110px; }
  .footer-main { margin-bottom:60px; }
  .footer-wordmark { font-size:44px; }
  .footer-statement { font-size:24px; }
  .footer-bottom { flex-direction:column; gap:12px; }
}


/*
**  GRAVITY FORMS
*/
.gform_body label {
  margin-bottom: 9px!important;
  font-size:13px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
.gform_body .gfield_required {
  display: none!important;
}
.gform_body .gfield_description {
  color:var(--warm-gray)!important;
}
.gform_body input,
.gform_body select,
.gform_body textarea {
  width:100%!important;
  border:0!important;
  border-bottom:1px solid var(--warm-gray)!important;
  background:transparent; color:var(--ink)!important;
  padding:12px 2px 14px!important;
  outline:none!important;
  border-radius:0!important;
  box-shadow: none!important;
  background-color: transparent!important;
}
.gform_body textarea {
  resize:vertical!important;
  min-height:120px!important;
}
.gform_body input:focus,
.gform_body select:focus,
.gform_body textarea:focus {
  border-color:var(--gold)!important;
}
.gform_footer .button {
  margin-top:20px!important;
  outline: none!important;

  min-width: 240px!important;
  width: 100%!important;
  height: 52px!important;
  padding: 0 30px!important;
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  border-radius: 999px!important;
  font-family: var(--sans)!important;
  font-size: 13px!important;
  font-weight: 500!important;
  letter-spacing: .08em!important;
  text-transform: uppercase!important;
  transition: transform .3s ease, background .3s ease, color .3s ease!important;
}
.gform_body select {
  font-family: "Suisse Intl", "Suisse International", "Elape Sans", "Inter", Arial, sans-serif!important;
  line-height: 1!important;
  font-weight: normal!important;
}

@media screen and (min-width:980px){
  #input_1_4 {
    margin-top: 36px;
  }
}