/*
 * Alliance Capital Properties - site styles
 * Palette: charcoal #1A1A1A, bronze #6E5429, light neutrals. Font: Montserrat only.
 * One stylesheet shared by every page (index, privacy, thank-you, 404).
 * Build: none. Edit this file directly. Remove rules only after checking every page.
 */
*, *::before, *::after{
  box-sizing: inherit;
}
html{
  scroll-behavior: smooth;
  scroll-padding-top: env(safe-area-inset-top,0px);
}
body{
  margin: 0;
  color: var(--ink);
  font: 400 15px/1.7 var(--sans);
  -webkit-font-smoothing: antialiased;
}
a{
  color: inherit;
  text-decoration: none;
}
.wrap{
  width: min(1240px,100% - 48px);
  margin-inline: auto;
}
section{
  padding: clamp(80px,11vw,150px) 0;
}
.center{
  text-align: center;
}
.center h2{
  max-width: 20em;
  margin-inline: auto;
}
.img, .ph{
  background-size: cover;
  background-position: center;
}
.img{
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}
.img svg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.p01{
  background-image: url(../img/photo-01.jpg);
}
.p02{
  background-image: url(../img/photo-02.jpg);
}
.p03{
  background-image: url(../img/photo-03.jpg);
}
.p04{
  background-image: url(../img/photo-04.jpg);
}
.p05{
  background-image: url(../img/photo-05.jpg);
}
.p06{
  background-image: url(../img/photo-06.jpg);
}
.p07{
  background-image: url(../img/photo-07.jpg);
}
.p08{
  background-image: url(../img/photo-08.jpg);
}
.p09{
  background-image: url(../img/photo-09.jpg);
}
header{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  padding-top: env(safe-area-inset-top,0px);
}
header .wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
}
.logo img{
  display: block;
  height: 72px;
  width: auto;
}
.burger span{
  display: block;
  width: 20px;
  height: 2px;
  background: var(--dark);
}
.menu{
  position: fixed;
  inset: 0;
  z-index: 50;
  background: var(--paper);
  display: none;
  flex-direction: column;
  overflow: auto;
  padding-bottom: 40px;
}
.menu.open{
  display: flex;
}
.mh{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
}
.mh img{
  height: 64px;
  width: auto;
}
.mx{
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: transparent;
  font: 400 26px/1 var(--sans);
  color: var(--ink);
  cursor: pointer;
}
.menu nav{
  display: flex;
  flex-direction: column;
  margin: 32px 0;
}
.menu nav a{
  font: 500 clamp(26px,4.6vw,44px)/1.2 var(--sans);
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  letter-spacing: -.02em;
}
.menu nav a:hover{
  color: var(--btxt);
}
.menu .btn{
  align-self: flex-start;
}
.hh{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: min(1240px,100% - 48px);
  margin-inline: auto;
  padding: 150px 0 40px;
}
@media(max-width:900px){
.hfoot{grid-template-columns:1fr;margin-top:48px}
}
.trio{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: clamp(28px,4vw,64px);
  margin-top: 72px;
  text-align: left;
}
.trio>div{
  border-top: 1px solid rgba(26,26,26,.14);
  padding-top: 28px;
}
.trio p{
  margin: 0;
  color: var(--mute);
  font-size: 15px;
  max-width: 38ch;
}
@media(max-width:820px){
.trio{grid-template-columns:1fr}
}
.focus{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
}
.ft{
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
}
.ft .img{
  position: absolute;
  inset: 0;
  border-radius: 0;
}
.ft::after{
  content: "";
  position: absolute;
  inset: 0;
}
.ft .cap{
  position: absolute;
  z-index: 2;
}
.ft .cap h3{
  line-height: 1.12;
  margin: 0 0 8px;
  font-weight: 500;
}
.ft .cap p{
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}
@media(max-width:1000px){
.focus{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
.focus{grid-template-columns:1fr}
.ft{aspect-ratio:4/3}
}
.founder{
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(32px,6vw,96px);
  align-items: start;
}
.portrait{
  position: relative;
}
.portrait .img{
  aspect-ratio: 4/5;
  background: var(--char);
}
.founder p.t{
  color: var(--mute);
  max-width: 58ch;
  margin: 0 0 16px;
}
@media(max-width:860px){
.founder{grid-template-columns:1fr}
.portrait .q{right:12px}
.fstats{grid-template-columns:1fr 1fr 1fr}
}
.bento{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  margin-top: 64px;
  grid-template-rows: 200px 150px 150px 150px;
  text-align: left;
}
.bento>*{
  border-radius: 4px;
}
.vc{
  background: var(--card);
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid var(--line);
}
.vc p{
  margin: 0;
  font-size: 13px;
  color: var(--mute);
  max-width: 28ch;
  line-height: 1.6;
}
.vc.br{
  background: var(--bronze);
  border-color: rgba(26,26,26,.14);
  color: var(--dark);
}
.vc.br p{
  color: var(--dark);
}
.b1{
  grid-area: 1/1/3/2;
}
.b2{
  grid-area: 1/2/4/3;
}
.b3{
  grid-area: 1/3/2/4;
}
.b4{
  grid-area: 3/1/5/2;
}
.b5{
  grid-area: 4/2/5/3;
}
.b6{
  grid-area: 2/3/5/4;
}
@media(max-width:820px){
.bento{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:200px}
.bento>*{grid-area:auto!important}
}
.why{
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 40px 0;
}
.why>.img{
  position: absolute;
  inset: 0;
  border-radius: 0;
}
.why>.img::after{
  content: "";
  position: absolute;
  inset: 0;
}
.why .box{
  position: relative;
  padding: 34px;
  width: min(400px,100% - 48px);
  margin-right: max(24px,calc((100% - 1240px)/2));
}
.why p{
  margin: 0 0 24px;
  font-size: 14px;
}
@media(max-width:700px){
.why{justify-content:center}
.why .box{margin:0}
}
.lf{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: clamp(24px,3vw,40px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.lf .f{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lf .full{
  grid-column: 1/-1;
}
.lf label{
  font: 500 10px/1.4 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mute);
}
.lf textarea{
  min-height: 90px;
  resize: vertical;
}
.lf select option{
  color: #1A1A1A;
}
.lf .chk{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font: 400 13px/1.5 var(--sans);
  letter-spacing: 0;
  text-transform: none;
  color: var(--mute);
}
.lf .chk input{
  width: auto;
  margin-top: 3px;
}
.lf .st{
  font-size: 13px;
  color: var(--mute);
  align-self: center;
  min-height: 1.2em;
}
@media(max-width:820px){
.lead{grid-template-columns:1fr}
.lf{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
*{transition:none!important}
html{scroll-behavior:auto}
}
.legal{
  margin-top: 72px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.18);
  display: flex;
  flex-wrap: wrap;
  gap: 16px 40px;
  justify-content: space-between;
  font-size: 12px;
  border-top-color: var(--line);
  color: var(--mute);
}
.why>.img::after{
  background: rgba(26,26,26,.18);
}
h1, h2, h3{
  font-family: var(--serif);
  margin: 0;
  font-weight: 500;
  letter-spacing: -.02em;
}
h2{
  font-size: clamp(28px,3.6vw,48px);
  line-height: 1.15;
}
.trio h3{
  margin-bottom: 14px;
  font-weight: 500;
  font-size: clamp(20px,1.9vw,24px);
}
.lead-s{
  font: 400 clamp(24px,2.8vw,38px)/1.35 var(--serif);
  max-width: 28em;
  margin: 0 auto;
  font-size: clamp(20px,2.2vw,28px);
  line-height: 1.5;
  font-weight: 400;
}
.ft .cap h3{
  font-size: clamp(18px,1.6vw,22px);
}
.vc h3{
  margin-bottom: 8px;
  font-weight: 500;
  font-size: 20px;
}
.why h2{
  margin: 0 0 14px;
  font-size: clamp(26px,2.6vw,32px);
}
.img, .ft, .bento>*, .lf{
  border-radius: 14px;
}
.why .box{
  border-radius: 14px;
}
.stmt{
  font-size: clamp(24px,3vw,40px);
  line-height: 1.25;
  font-weight: 500;
  max-width: 24em;
  margin: 0;
  letter-spacing: -.02em;
}
.rule{
  border: 0;
  border-top: 1px solid var(--line);
  margin: 48px 0;
}
.bc span{
  font-size: 14px;
}
.bc.wh{
  background: #FFFFFF;
  color: var(--dark);
  border: 1px solid var(--line);
}
.bc>*{
  position: relative;
}
.bc .gl{
  color: currentColor;
}
@media(max-width:960px){
.bn{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
.bn{grid-template-columns:1fr}
}
.sk{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}
.sl{
  position: sticky;
  top: 96px;
}
.sc{
  position: sticky;
  top: calc(96px + var(--i)*14px);
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px;
  margin-bottom: 24px;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sc .sh{
  display: flex;
  align-items: center;
  gap: 14px;
}
.sc .sh b{
  font: 600 18px var(--sans);
  color: rgba(26,26,26,.5);
}
.sc .sh i{
  flex: 1;
  height: 1px;
  background: var(--line);
}
.sc h3{
  font-size: clamp(26px,2.6vw,34px);
}
.sc>p{
  margin: 0;
  color: var(--mute);
  font-size: 14px;
  max-width: 48ch;
}
.sc .img{
  aspect-ratio: 16/9;
  margin-top: auto;
}
.tags{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sc.dk h3{
  max-width: 12em;
}
@media(max-width:900px){
.sk{grid-template-columns:1fr}
.sl, .sc{position:static}
.slc{min-height:340px}
.sc{min-height:0}
}
.sc.dk>p{
  color: var(--mute);
}
.sc.dk .btn{
  background: var(--dark);
  color: var(--cream);
}
.slc::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.62) 45%,rgba(255,255,255,.08) 100%);
}
.slc h2{
  position: relative;
  z-index: 2;
  font-size: clamp(26px,2.8vw,38px);
  max-width: 11em;
  color: var(--dark);
}
.slb{
  position: absolute;
  inset: 0;
  filter: grayscale(1);
  opacity: .9;
}
.bc.pic::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(26,26,26,.12),rgba(26,26,26,.6));
}
.ft::after{
  background: linear-gradient(180deg,transparent 55%,rgba(255,255,255,.3));
}
.ft .cap{
  background: rgba(255,255,255,.94);
  color: var(--dark);
  padding: 16px 18px;
  border-radius: 12px;
  left: 14px;
  right: 14px;
  bottom: 14px;
}
.ft .cap p{
  opacity: 1;
  color: var(--mute);
}
.ft{
  border-radius: 18px;
}
@media(max-width:820px){
.mc{min-height:460px}
}
.pstep{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
  margin-top: 64px;
  align-items: start;
  text-align: left;
}
.ps{
  border-radius: 20px;
  padding: 28px 24px 32px;
  border: 1px solid rgba(26,26,26,0.105);
}
.ps:nth-child(2){
  margin-top: 32px;
}
.ps:nth-child(3){
  margin-top: 64px;
}
.ps:nth-child(4){
  margin-top: 96px;
}
.ps .n{
  font: 600 64px/1 var(--sans);
  letter-spacing: -.04em;
  margin-bottom: 18px;
}
.ps:nth-child(4) .n{
  color: rgba(26,26,26,.35);
}
.ps h3{
  font-size: 20px;
  margin-bottom: 12px;
}
.ps p{
  margin: 0;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--mute);
}
@media(max-width:960px){
.pstep{grid-template-columns:1fr 1fr}
.ps:nth-child(n){margin-top:0}
}
@media(max-width:560px){
.pstep{grid-template-columns:1fr}
}
.pcs{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
  margin-top: 64px;
}
.pc{
  border-radius: 20px;
  padding: 30px;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #FFFFFF;
  border: 1px solid var(--line);
}
.pc svg{
  width: 36px;
  height: 36px;
  color: var(--btxt);
}
.pc:nth-child(2) svg{
  color: var(--dark);
}
.pc p{
  margin: 24px 0 0;
  font: 500 clamp(17px,1.6vw,20px)/1.45 var(--sans);
  letter-spacing: -.01em;
}
@media(max-width:860px){
.pcs{grid-template-columns:1fr}
.pc{min-height:0}
}
.lead2{
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #FFFFFF;
}
.lp{
  position: relative;
  min-height: 600px;
  padding: 20px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: 55% 50%;
}
.lg{
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 32px;
  width: 100%;
}
.lg h2{
  font-size: clamp(26px,2.6vw,34px);
  margin-bottom: 14px;
}
.lg p{
  margin: 0 0 20px;
  color: var(--mute);
  font-size: 14px;
}
.cl{
  list-style: none;
  margin: 0;
  padding: 0;
}
.cl li{
  padding: 12px 0 12px 28px;
  border-top: 1px solid var(--line);
  font: 500 14px/1.4 var(--sans);
  position: relative;
}
.lead2 .lf{
  border: 0;
  border-radius: 0;
  background: #FFFFFF;
  padding: clamp(28px,4vw,56px);
}
@media(max-width:900px){
.lead2{grid-template-columns:1fr}
.lp{min-height:420px}
}
.btn.b{
  background: var(--bronze);
  color: var(--dark);
}
.btn.b:hover{
  background: #F7F7F5;
}
.hero{
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  display: flex;
  background: var(--paper);
  color: var(--dark);
}
.tbadge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  backdrop-filter: blur(8px);
  padding: 11px 18px;
  border-radius: 99px;
  font: 500 11px/1 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 26px;
  align-self: flex-start;
  background: rgba(255,255,255,.85);
  color: var(--dark);
  border: 1px solid var(--line);
}
.tbadge i{
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--dark);
}
.burger{
  width: 54px;
  height: 54px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  background: #FFFFFF;
  border: 1px solid var(--line);
}
.ph{
  filter: saturate(.6);
}
.img svg{
  filter: saturate(.35) brightness(1.08);
}
.bc.pic{
  color: #FFFFFF;
}
.pc, .pc:nth-child(2), .pc:nth-child(3){
  background: #FFFFFF;
  border-color: var(--line);
}
.pc svg, .pc:nth-child(2) svg{
  color: var(--dark);
}
.ps:nth-child(1){
  background: #FFFFFF;
}
.ps:nth-child(2){
  background: #F7F7F5;
}
.ps:nth-child(3){
  background: #F7F7F5;
}
.ps:nth-child(4){
  background: #F7F7F5;
  border-color: rgba(26,26,26,.14);
}
.ps{
  border-color: var(--line);
}
.ps .n{
  color: rgba(26,26,26,.18);
}
.ps:nth-child(4) p{
  color: var(--dark);
}
.sc.dk{
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 420px;
  margin-bottom: 0;
  color: var(--dark);
  background: #F7F7F5;
  border-color: var(--line);
}
.slc{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: max(460px,calc(100vh - 140px));
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  color: var(--dark);
  background: #F7F7F5;
}
.bc.acc{
  background: #F7F7F5;
  color: var(--dark);
}
.portrait .q{
  position: absolute;
  right: -28px;
  bottom: 36px;
  width: min(320px,82%);
  padding: 26px;
  font: 500 17px/1.4 var(--sans);
  border-radius: 12px;
  background: #FFFFFF;
  color: var(--dark);
  border: 1px solid var(--line);
}
.cl li::before{
  content: "";
  position: absolute;
  left: 4px;
  top: 19px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dark);
}
section h2, .stmt, .center h2{
  font-weight: 400;
  letter-spacing: -.025em;
}
section h2{
  font-size: clamp(34px,4.2vw,56px);
  line-height: 1.1;
}
section h2 b{
  font-weight: 600;
}
.bc, .vc, .pc, .sc, .slc, .pstep>*, .lf, .lg, .lead2 .lf{
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset,0 1px 2px rgba(26,26,26,.05),0 14px 34px -14px rgba(26,26,26,.14) !important;
  border: 1px solid rgba(26,26,26,.07) !important;
  transition: transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;
}
.bc:hover, .vc:hover, .pc:hover, .pstep>*:hover, .slc:hover{
  transform: translateY(-4px);
  box-shadow: 0 1px 0 #FFFFFF inset,0 2px 4px rgba(26,26,26,.05),0 28px 48px -18px rgba(26,26,26,.22) !important;
}
.vc, .pc{
  background-image: linear-gradient(160deg,#FFFFFF 0,#F7F7F5 100%);
}
.ps .n, .pstep .n, .n{
  background: linear-gradient(180deg,#1A1A1A,rgba(26,26,26,.5));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  font-weight: 400 !important;
}
.rule, hr{
  height: 1px;
  border: 0;
  background: linear-gradient(90deg,transparent,rgba(26,26,26,.25),transparent);
}
.img, .ph, .pic, .portrait{
  box-shadow: 0 30px 60px -28px rgba(26,26,26,.35);
}
.why .box{
  box-shadow: 0 40px 80px -40px rgba(26,26,26,.3);
}
.hero .hh, .hero h1{
  text-shadow: 0 1px 30px rgba(255,255,255,.6);
}
body p{
  font-size: max(1em,15px);
}
:root{
  --sans: 'Montserrat','Helvetica Neue',Arial,sans-serif;
  --serif: 'Poppins','Montserrat','Helvetica Neue',Arial,sans-serif;
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top,0px);
  padding-bottom: env(safe-area-inset-bottom,0px);
  --dark: #1A1A1A;
  --char: #1A1A1A;
  --bronze: #F7F7F5;
  --cream: #FFFFFF;
  --btxt: rgba(26,26,26,.74);
  --paper: #F7F7F5;
  --card: #FFFFFF;
  --mute: rgba(26,26,26,.74);
  --line: rgba(26,26,26,.11);
  --acc: #6E5429;
  --ink: #1A1A1A;
}
body{
  background: linear-gradient(180deg,#FFFFFF,#F7F7F5 50%,#FFFFFF);
}
.stmt, section h2{
  color: var(--ink);
}
.n, .ps .n, .pstep .n{
  background: linear-gradient(180deg,#6E5429,#FFFFFF) !important;
}
.tags span{
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: 99px;
  padding: 8px 14px;
  font: 500 10px/1 var(--sans);
  letter-spacing: .1em;
  text-transform: uppercase;
  border-color: rgba(110,84,41,.55) !important;
}
.tbadge::before, .tbadge i{
  background: var(--acc) !important;
}
.bc:first-child{
  background: linear-gradient(160deg,#F7F7F5,#FFFFFF) !important;
}
.pc:nth-child(2){
  border-color: rgba(26,26,26,.14);
  background: linear-gradient(160deg,#FFFFFF,#F7F7F5) !important;
}
.pc:nth-child(3){
  background: linear-gradient(160deg,#F7F7F5,#FFFFFF) !important;
}
.pstep>*:nth-child(1){
  background: #FFFFFF !important;
}
.pstep>*:nth-child(2){
  background: #F7F7F5 !important;
}
.pstep>*:nth-child(3){
  background: #F7F7F5 !important;
}
.pstep>*:nth-child(4){
  background: #F7F7F5 !important;
}
.btn{
  display: inline-block;
  padding: 17px 30px;
  font: 600 12px/1 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: 99px;
  cursor: pointer;
  box-shadow: 0 10px 24px -10px rgba(26,26,26,.55);
  transition: transform .3s,box-shadow .3s;
  background: var(--ink) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--ink);
}
.btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -10px rgba(26,26,26,.6);
  background: var(--acc) !important;
  border-color: var(--acc);
}
.tm h2{
  color: #FFFFFF !important;
}
.why .box{
  background: linear-gradient(160deg,#1A1A1A,#1A1A1A) !important;
  color: #FFFFFF;
}
.why .box h2, .why .box p{
  color: #FFFFFF !important;
}
.why .box p{
  opacity: .85;
}
.why .box .btn{
  background: var(--acc) !important;
  border-color: var(--acc);
  color: #1A1A1A !important;
}
.lead2 .lp::after{
  background: linear-gradient(180deg,transparent,rgba(26,26,26,.55));
}
footer{
  padding: 96px 0 40px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg,#1A1A1A,#1A1A1A) !important;
  color: rgba(255,255,255,.72) !important;
}
footer h4{
  color: var(--acc) !important;
}
footer a, footer span{
  color: rgba(255,255,255,.72) !important;
}
footer a:hover{
  color: #FFFFFF !important;
}
.addr{
  line-height: 1.7;
  font-size: 14px;
}
.n, .ps .n, .pstep .n{
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
.hero .vbg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  filter: saturate(1.05) contrast(1.05) brightness(1.02);
}
.hero::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(95deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 34%,rgba(255,255,255,.18) 68%,rgba(26,26,26,.18) 100%),linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.92) 100%),radial-gradient(700px 500px at 85% 20%,rgba(110,84,41,.28),transparent 70%);
}
.hero h1 .pre{
  font-weight: 400;
  color: #6E5429;
  opacity: 1;
}
.hero h1::after{
  content: "";
  display: block;
  width: 96px;
  height: 3px;
  margin-top: 28px;
  background: linear-gradient(90deg,#6E5429,#FFFFFF);
  border-radius: 3px;
}
.hero .tbadge{
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(110,84,41,.5);
  box-shadow: 0 8px 24px -12px rgba(26,26,26,.25);
}
.hero .btn{
  align-self: flex-start;
  padding: 18px 34px;
  box-shadow: 0 18px 36px -14px rgba(26,26,26,.6);
}
.apr{
  text-align: center;
  margin: 84px auto 0;
  font-size: clamp(30px,4vw,54px);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.1;
  color: #1A1A1A;
}
.apr b{
  font-weight: 700;
  background: linear-gradient(90deg,#6E5429,#FFFFFF);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.apr+.trio{
  margin-top: 44px;
}
.sl .slc{
  background: #1A1A1A !important;
  color: #FFFFFF !important;
  border: 0 !important;
  min-height: max(520px,calc(100vh - 140px));
  justify-content: flex-end;
  padding: 44px;
}
.sl .slb{
  filter: saturate(.9) contrast(1.05) !important;
  opacity: 1 !important;
}
.sl .slc::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg,rgba(26,26,26,.25) 0%,rgba(26,26,26,.78) 60%,rgba(26,26,26,.97) 100%),radial-gradient(520px 360px at 85% 0,rgba(110,84,41,.4),transparent 70%);
}
.sl .slc::after{
  content: "";
  position: absolute;
  z-index: 2;
  left: 44px;
  top: 44px;
  width: 64px;
  height: 3px;
  background: linear-gradient(90deg,#FFFFFF,#6E5429);
  border-radius: 3px;
}
.slx{
  position: relative;
  z-index: 3;
}
.slx h2{
  color: #FFFFFF !important;
  font-size: clamp(34px,3.6vw,54px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.03em;
  margin: 0 0 34px;
}
.slx h2 b{
  font-weight: 700;
  color: #FFFFFF;
}
.slo{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  border-top: 1px solid rgba(255,255,255,.35);
}
.slo li{
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .02em;
  color: #FFFFFF;
}
.slo li b{
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  color: #6E5429;
  min-width: 28px;
}
.et{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 22px;
  background-size: cover;
  transition: transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;
}
.et:hover{
  transform: translateY(-4px);
}
@media(max-width:900px){
.eg{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
}
.emx::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--bg) center/cover;
  display: none;
}
.emx::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(160deg,#F7F7F5,#FFFFFF) !important;
}
.eg{
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(10,1fr);
  grid-auto-rows: clamp(130px,15vw,220px);
}
@media(max-width:900px){
.eg{grid-template-columns:repeat(2,1fr)}
.et.dk{grid-column:span 2}
}
@media(max-width:900px){
}
.emx{
  position: relative;
  isolation: isolate;
  margin: 40px 0 8px;
  padding: 0;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  background: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px 40px;
  flex-wrap: wrap;
}
.emx::before, .emx::after{
  display: none !important;
}
.emx h3{
  font-size: clamp(20px,2.2vw,30px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.2;
  max-width: 14em;
  margin: 0;
  color: #1A1A1A;
}
.emx h3 b{
  font-weight: 700;
  background: linear-gradient(90deg,#6E5429,#FFFFFF);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.emx .et::after{
  display: none;
}
.emx .et:hover{
  background: #1A1A1A;
  color: #FFFFFF;
  transform: translateY(-2px);
}
.emx .et{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: none;
  border-radius: 999px;
  background: #FFFFFF;
  border: 1px solid rgba(110,84,41,.55);
  color: #1A1A1A;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .01em;
  box-shadow: 0 8px 20px -14px rgba(26,26,26,.35);
  transition: all .3s;
  aspect-ratio: auto;
  min-height: 0;
  flex-direction: row !important;
  justify-content: flex-start !important;
  white-space: nowrap;
  padding: 10px 20px !important;
}
.emx .eg{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  grid-template-columns: none;
  max-width: 760px;
}
.emx .et::before{
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #6E5429;
  position: static;
  inset: auto;
  background-image: none;
  flex: none;
  margin: 0;
}
.tm .wrap{
  max-width: 980px;
}
.tsl{
  margin-top: 48px;
  position: relative;
}
.tsv{
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  outline: none;
}
.tsv::-webkit-scrollbar{
  display: none;
}
.tid{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.tid b{
  font-size: 16px;
  font-weight: 600;
  color: #FFFFFF;
  letter-spacing: .01em;
}
.tcity{
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #6E5429;
}
.tnav button{
  cursor: pointer;
  font-family: inherit;
}
.tp, .tn{
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.5);
  background: transparent;
  color: #FFFFFF;
  font-size: 18px;
  transition: all .3s;
}
.tp:hover, .tn:hover{
  background: #6E5429;
  color: #1A1A1A;
  border-color: #6E5429;
}
.td{
  display: flex;
  gap: 10px;
}
.td button{
  width: 9px;
  height: 9px;
  padding: 0;
  border-radius: 99px;
  border: 0;
  background: rgba(255,255,255,.28);
  transition: all .35s;
}
.td button.on{
  width: 28px;
  background: #6E5429;
}
.hfoot{
  display: grid;
  gap: 40px;
  align-items: end;
  grid-template-columns: 1fr !important;
  margin-top: 44px;
}
.hh .hfoot{
  margin: 0 0 34px !important;
}
.hero h1{
  font: 600 clamp(32px,5.2vw,72px)/1.1 var(--sans);
  margin: 0 0 36px;
  color: var(--dark);
  font-size: clamp(38px,6vw,86px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.035em;
  max-width: 11.5em;
  margin-bottom: 28px !important;
}
.bn{
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3,1fr) !important;
}
.bc{
  position: relative;
  border-radius: 18px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  min-height: 240px;
}
.bc b{
  display: block;
  font: 500 clamp(28px,3vw,40px)/1.1 var(--sans);
  letter-spacing: -.02em;
  margin-bottom: 6px;
  font-size: clamp(28px,3.2vw,44px);
}
@media(max-width:760px){
.bn{grid-template-columns:1fr!important}
.bc{min-height:190px}
}
#who .stmt{
  font-size: clamp(20px,2.4vw,33px);
  max-width: 36em;
  line-height: 1.35;
}
#who .apr{
  margin-top: 96px;
}
.emx .et:nth-child(-n+2){
  background: #FFFFFF !important;
  color: #1A1A1A !important;
  border-color: rgba(110,84,41,.55) !important;
}
.emx .et:nth-child(-n+2)::before{
  background: #6E5429 !important;
}
.emx .et:nth-child(-n+2):hover, .emx .et:hover{
  background: #1A1A1A !important;
  color: #FFFFFF !important;
  border-color: #1A1A1A !important;
}
.fname{
  font: 500 clamp(34px,3.6vw,46px)/1.1 var(--serif);
  margin: 0 0 6px;
  font-size: clamp(34px,3.8vw,52px) !important;
  font-weight: 400 !important;
  letter-spacing: -.03em;
  margin-bottom: 12px !important;
}
.frole{
  font: 500 11px/1.4 var(--sans);
  text-transform: uppercase;
  margin: 0 0 28px;
  display: inline-block;
  padding: 7px 16px;
  border-radius: 99px;
  background: #1A1A1A;
  color: #FFFFFF !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  margin-bottom: 30px !important;
}
.fstats{
  display: grid;
  justify-content: start;
  grid-template-columns: repeat(3,1fr) !important;
  padding: 0 !important;
  border: 0 !important;
}
.fstats>div{
  position: relative;
  display: flex;
  flex-direction: column;
}
.fstats>div::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg,#FFFFFF,#6E5429,#6E5429);
}
.fstats svg{
  width: 26px;
  height: 26px;
  color: #6E5429;
  margin-bottom: 10px;
}
.fstats b{
  display: block;
  font: 500 clamp(30px,3vw,40px)/1 var(--serif);
  font-size: clamp(26px,2.6vw,38px) !important;
  font-weight: 600 !important;
  letter-spacing: -.03em;
  line-height: 1.05 !important;
  background: linear-gradient(135deg,#1A1A1A 20%,#6E5429);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.fstats span{
  font: 500 10px/1.4 var(--sans);
  text-transform: uppercase;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
}
@media(max-width:700px){
.fstats{grid-template-columns:1fr!important}
.fstats>div{flex-direction:row;align-items:center;gap:14px}
.fstats svg{margin:0}
}
.fstats>div:nth-child(2) b{
  white-space: nowrap;
}
.docpage header.dochead{
  position: static;
  padding: 24px 0;
}
.docpage .dochead .wrap{
  display: flex;
  height: auto;
  max-width: 760px;
}
.dochead .logo img{
  height: 64px;
  width: auto;
}
.doc{
  padding: clamp(32px,6vw,72px) 0 clamp(64px,9vw,120px);
}
.doc .wrap{
  max-width: 760px;
}
.doc h1{
  font-size: clamp(34px,5vw,56px);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin: 0 0 12px;
  color: #1A1A1A;
}
.doc h2{
  font-size: clamp(20px,2.2vw,26px);
  font-weight: 600;
  letter-spacing: -.02em;
  margin: 40px 0 12px;
  color: #1A1A1A;
}
.doc p, .doc li{
  font-size: 16px;
  line-height: 1.75;
  color: #1A1A1A;
}
.doc ul{
  padding-left: 20px;
  margin: 0 0 16px;
}
.doc li{
  margin-bottom: 8px;
}
.doc a:not(.btn){
  color: #6E5429;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.doc .meta{
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6E5429;
  margin: 0 0 32px;
}
.docfoot{
  background: #1A1A1A;
  color: rgba(255,255,255,.72);
  padding: 28px 0;
  font-size: 13px;
}
.docfoot .wrap{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.docfoot a{
  color: #FFFFFF;
}
.legal a{
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.chk a{
  text-decoration: underline;
  text-underline-offset: 3px;
}
.docpage{
  background: var(--paper,#F7F7F5);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.docpage .doc{
  flex: 1;
}
footer .fgrid{
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr;
  gap: 48px 56px;
  align-items: start;
}
footer .flogo{
  filter: none;
  display: block;
  width: clamp(110px,11vw,150px);
  height: auto;
  margin-bottom: 24px;
}
footer .fbrand p{
  max-width: 340px;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: rgba(26,26,26,.5) !important;
}
footer .fcol{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
footer .fcol h4{
  margin: 0 0 10px;
  font: 600 11px/1 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
}
footer .fcol a, footer .fcol .addr{
  font-size: 14px;
  line-height: 1.7;
}
footer .fcol a{
  width: fit-content;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .3s,color .3s;
}
footer .fcol a:hover{
  border-bottom-color: #6E5429;
}
footer .legal{
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 72px;
  padding-top: 24px;
  font-size: 12px;
  letter-spacing: .02em;
}
footer .legal a{
  text-decoration: none;
}
footer .legal a:hover{
  text-decoration: underline;
}
footer .disc{
  margin: 16px 0 0;
  max-width: 760px;
  font-size: 11.5px;
  line-height: 1.8;
  color: rgba(26,26,26,.74) !important;
}
@media(max-width:900px){
footer .fgrid{grid-template-columns:1fr 1fr}
footer .fbrand{grid-column:1/-1}
}
@media(max-width:520px){
footer{padding-top:72px}
footer .fgrid{grid-template-columns:1fr;gap:36px}
footer .legal{margin-top:48px}
}
.doc .btn{
  margin-top: 8px;
}
footer .ftag{
  max-width: none;
  padding-right: min(18%,260px);
  margin: 0 0 72px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  font-size: clamp(28px,4vw,52px);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.15;
  color: #FFFFFF;
}
footer .ftag em{
  font-style: normal;
  color: #6E5429;
}
@media(max-width:520px){
footer .ftag{padding-right:0;margin-bottom:48px;padding-bottom:40px}
}
.pn{
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: calc(100vw - 32px);
  padding: 12px 12px 12px 20px;
  border-radius: 999px;
  background: #1A1A1A;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.4;
  box-shadow: 0 10px 30px rgba(26,26,26,.25);
}
.pn[hidden]{
  display: none;
}
.pn p{
  margin: 0;
}
.pn a{
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pn button{
  flex: none;
  border: 0;
  border-radius: 999px;
  padding: 9px 18px;
  background: #6E5429;
  color: #1A1A1A;
  font: 600 11px var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
@media(max-width:520px){
.pn{left:12px;right:12px;bottom:12px;max-width:none;border-radius:18px;padding:14px 14px 14px 18px}
}
.tm{
  background: radial-gradient(900px 420px at 50% -10%,rgba(110,84,41,.28),transparent 70%),linear-gradient(180deg,#1A1A1A,#1A1A1A) !important;
  color: #FFFFFF;
  position: relative;
  overflow: hidden;
}
.tm::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(520px 320px at 8% 100%,rgba(110,84,41,.16),transparent 70%),radial-gradient(520px 320px at 96% 0,rgba(110,84,41,.12),transparent 70%);
  pointer-events: none;
}
.tm .wrap{
  position: relative;
}
.teye{
  display: inline-block;
  margin-bottom: 18px;
  font: 600 11px/1 var(--sans);
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #6E5429;
}
.tsub{
  margin: 14px auto 0;
  max-width: 520px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(26,26,26,.5);
}
.ts{
  flex: 0 0 100%;
  scroll-snap-align: center;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 8px clamp(0px,1.5vw,20px);
}
.ts::before{
  content: "\201C";
  font-size: 96px;
  line-height: .7;
  font-weight: 600;
  color: #6E5429;
  height: 44px;
  display: none;
}
.tc{
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: clamp(44px,6vw,72px) clamp(24px,6vw,84px) clamp(32px,4vw,48px);
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.22);
  background: linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  box-shadow: 0 30px 60px -30px rgba(26,26,26,.6),inset 0 1px 0 rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}
.tc::before{
  content: "\201C";
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  font: 400 140px/1 Georgia,"Times New Roman",serif;
  color: #6E5429;
  opacity: .9;
  height: 80px;
  overflow: hidden;
}
.tc::after{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 84px;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg,transparent,#FFFFFF,transparent);
}
.ts blockquote{
  font-weight: 400;
  max-width: 46em;
  margin: 12px 0 36px;
  font-size: clamp(16px,1.6vw,19px);
  line-height: 1.85;
  color: #F7F7F5;
}
.ts figcaption{
  display: flex;
  align-items: center;
  gap: 16px;
  text-align: left;
  padding-top: 26px;
  justify-content: center;
  border-top: 1px solid rgba(255,255,255,.25);
  min-width: 0;
  width: min(100%,360px);
}
.tav{
  border-radius: 50%;
  flex: none;
  display: grid;
  place-items: center;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: .04em;
  color: #1A1A1A;
  background: linear-gradient(135deg,#FFFFFF,#6E5429);
  background-size: cover;
  background-position: center;
  width: 60px;
  height: 60px;
  border: 0;
  box-shadow: 0 0 0 2px #1A1A1A,0 0 0 3.5px #6E5429;
}
.tnav{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-top: 32px;
}
@media(max-width:520px){
.tc{border-radius:22px}
.tc::before{font-size:120px;height:66px}
}
.teye-l{
  color: #6E5429;
}
.tsub-l{
  color: rgba(26,26,26,.74);
}
.mg{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 24px;
  margin-top: 56px;
}
.mc{
  text-align: center;
}
.mp{
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 22px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: radial-gradient(120% 90% at 50% 0,#1A1A1A,#1A1A1A 70%);
  box-shadow: 0 24px 50px -28px rgba(26,26,26,.6);
  transition: transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;
}
.mp::before{
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.28);
}
.mp::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 60%;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg,transparent,#6E5429,transparent);
}
.mp span{
  font: 500 clamp(40px,5vw,60px)/1 var(--sans);
  letter-spacing: .06em;
  color: #FFFFFF;
}
.mc:hover .mp{
  transform: translateY(-6px);
  box-shadow: 0 34px 60px -28px rgba(26,26,26,.7);
}
.mc h3{
  margin: 22px 0 6px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: #1A1A1A;
}
.mc p{
  margin: 0;
  font: 600 11px/1.5 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #6E5429;
}
@media(max-width:900px){
.mg{grid-template-columns:1fr 1fr;gap:28px 16px}
}
@media(max-width:420px){
.mg{gap:24px 12px}
.mc h3{font-size:16px}
.mc p{font-size:10px;letter-spacing:.12em}
}
.fstats>div:nth-child(2) b{
  font-size: clamp(18px,1.7vw,24px) !important;
  padding-bottom: 4px;
}
@media(max-width:860px){
.portrait .q{position:relative;right:auto;bottom:auto;width:auto;margin:-64px 14px 0;font-size:15px;padding:20px 22px}
}
.fstats{
  gap: 0 !important;
  border-block: 1px solid var(--line) !important;
  margin-bottom: 34px !important;
}
.fstats>div{
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  padding: 22px 20px;
  gap: 8px;
  transition: none;
}
.fstats>div+div{
  border-left: 1px solid var(--line);
}
.fstats>div:first-child{
  padding-left: 0;
}
.fstats>div::before{
  display: none;
}
.fstats>div:hover{
  transform: none;
  box-shadow: none;
}
.fstats svg{
  display: none;
}
.fstats b, .fstats>div:nth-child(2) b{
  font-size: clamp(22px,2.2vw,30px) !important;
  font-weight: 600 !important;
  letter-spacing: -.02em;
  white-space: normal;
  background: none;
  -webkit-text-fill-color: currentColor;
  color: #1A1A1A;
  padding: 0;
}
.fstats span{
  font-size: 10.5px !important;
  color: #6E5429 !important;
}
@media(max-width:700px){
.fstats>div, .fstats>div:first-child{flex-direction:row!important;align-items:baseline!important;justify-content:space-between;gap:16px;padding:16px 0}
.fstats>div+div{border-left:0;border-top:1px solid var(--line)}
.fstats b, .fstats>div:nth-child(2) b{font-size:22px!important;order:2}
.fstats span{order:1}
}
@media(min-width:701px){
.fstats>div{padding:22px 16px}
.fstats b, .fstats>div:nth-child(2) b{font-size:clamp(19px,1.65vw,24px)!important;white-space:nowrap}
}
footer .fsoc{
  display: flex;
  gap: 12px;
  margin-top: 28px;
}
footer .fsoc a{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.35);
  transition: background .3s,border-color .3s,color .3s;
}
footer .fsoc a svg{
  width: 18px;
  height: 18px;
}
footer .fsoc a:hover{
  background: #6E5429;
  border-color: #6E5429;
  color: #1A1A1A !important;
}
.lf .ph{
  display: flex;
  gap: 8px;
}
@media(max-width:520px){
.lf .ph select{width:116px;padding:13px 6px 13px 10px;font-size:16px}
.lf .ph input{font-size:16px}
}
.lf .ph select{
  flex: none;
  padding-right: 8px;
  width: 118px;
  padding: 13px 6px 13px 12px;
  font-size: 16px;
}
.lf .ph input{
  flex: 1;
  min-width: 0;
  font-size: 16px;
}
.lf input, .lf select, .lf textarea{
  font: inherit;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 2px;
  padding: 13px 14px;
  width: 100%;
  font-size: 16px;
}
.skip{
  position: absolute;
  left: 12px;
  top: -60px;
  z-index: 100;
  padding: 10px 16px;
  border-radius: 8px;
  background: #1A1A1A;
  color: #FFFFFF;
  font: 600 13px var(--sans);
  text-decoration: none;
  transition: top .2s;
}
.skip:focus{
  top: 12px;
}
.sprite{
  position: absolute;
}
section.flush{
  padding-top: 0;
}
.sr>.sc:nth-child(1){
  --i: 0;
}
.sr>.sc:nth-child(2){
  --i: 1;
}
.sr>.sc:nth-child(3){
  --i: 2;
}
.sr>.sc:nth-child(4){
  --i: 3;
}
.bp-45-45{
  background-position: 45% 45%;
}
.bp-45-22{
  background-position: 45% 22%;
}
.bp-55-35{
  background-position: 55% 35%;
}
.bp-46-30{
  background-position: 46% 30%;
}
.bp-42-35{
  background-position: 42% 35%;
}
.bp-40-c{
  background-position: 40% center;
}
.bp-35-c{
  background-position: 35% center;
}
.ft .img img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ft .img .seg-branded{
  object-position: 55% 50%;
}
.ft .img .seg-sky{
  object-position: 72% 50%;
}
.ft .img .seg-villas{
  object-position: 50% 55%;
}
.ft .img .seg-commercial{
  object-position: 20% 50%;
}
#faq .wrap{
  max-width: 820px;
  text-align: center;
}
#faq h2{
  margin-bottom: 40px;
}
.faq{
  text-align: left;
  border-top: 1px solid var(--line);
}
.faq details{
  border-bottom: 1px solid var(--line);
}
.faq summary{
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 22px 0;
  font: 500 clamp(16px,1.6vw,19px)/1.5 var(--sans);
  color: #1A1A1A;
}
.faq summary::-webkit-details-marker{
  display: none;
}
.faq summary::after{
  content: "+";
  flex: none;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(110,84,41,.5);
  color: #6E5429;
  font-size: 20px;
  line-height: 1;
  transition: transform .3s,background .3s,color .3s;
}
.faq details[open] summary::after{
  content: "\2212";
  background: #6E5429;
  border-color: #6E5429;
  color: #1A1A1A;
}
.faq p{
  margin: 0 0 24px;
  max-width: 68ch;
  font-size: 15px;
  line-height: 1.8;
  color: var(--mute);
}
footer address.addr{
  font-style: normal;
}
/* Team photos and the CEO introduction video */
.mp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.mp:has(img)::before, .mp:has(img)::after{display:none}
.portrait .img{position:relative;overflow:hidden}
.portrait .img>img, .portrait .img>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}
.portrait .img.playing{background:#1A1A1A}
.portrait .img.playing>video{object-fit:cover;object-position:50% 30%}
.portrait .img>img{object-position:50% 24%}
.vplay{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;border:0;background:none;padding:0;color:#FFFFFF;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-shadow:0 1px 10px rgba(26,26,26,.6)}
.vplay i{flex:none;position:relative;width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 14px 34px -10px rgba(26,26,26,.6);transition:transform .3s}
.vplay i::after{content:"";position:absolute;left:31px;top:23px;border-left:21px solid #6E5429;border-top:15px solid transparent;border-bottom:15px solid transparent}
.vplay:hover i{transform:scale(1.07)}
.vplay:focus-visible{outline:2px solid #FFFFFF;outline-offset:6px;border-radius:8px}
@media(max-width:560px){
.vplay span{font-size:10px}
.vplay i{width:64px;height:64px}
.vplay i::after{left:26px;top:19px;border-left-width:18px;border-top-width:13px;border-bottom-width:13px}
}
.mc .ml{margin-top:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6E5429}
/* Palette lock: white, black #1A1A1A, gold #6E5429 (+ soft white #F7F7F5). On black, accents are white. */
.teye, footer h4, footer .fcol h4, footer .ftag em, footer .ftag span, .tm .tn small, .tm [class*=loc]{color:rgba(255,255,255,.72)!important}
footer .ftag *{color:#fff!important}
.box .btn, .box a.btn{background:#fff!important;color:#1A1A1A!important;border-color:#fff!important}
.tm .dots i.on{background:#fff!important}
.tcity{color:rgba(255,255,255,.72)!important}
.tm button.on{background:#fff!important;border-color:#fff!important}
.tm [class*=quote]{color:#fff!important}
footer .ftag, footer .ftag *{background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important}
.tm .tc::before, .tm .tc::after, .tm .ts::before, .tm .ts::after, .tm .tsl::before{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:.9}
.why .box .btn{background:#6E5429!important;color:#fff!important;border-color:#6E5429!important}
.why .box .btn:hover{background:#fff!important;color:#1A1A1A!important}
#pn button{background:#6E5429!important;color:#fff!important;border-color:#6E5429!important}
/* Team cards */
#team .mc{background:#fff!important;border:1px solid rgba(26,26,26,.07);border-radius:24px;padding:10px 10px 26px;box-shadow:0 1px 2px rgba(26,26,26,.04),0 28px 50px -34px rgba(26,26,26,.35);transition:transform .35s,box-shadow .35s}
#team .mc:hover{transform:translateY(-6px);box-shadow:0 1px 2px rgba(26,26,26,.04),0 36px 60px -30px rgba(26,26,26,.4)}
#team .mp{border-radius:17px!important;box-shadow:none!important;background:#F7F7F5}
#team .mc:hover .mp{transform:none!important}
#team .mc h3{margin-top:20px}
#team .mc h3::after{content:"";display:block;width:28px;height:2px;background:#6E5429;margin:12px auto 10px;border-radius:2px}
#team .mc .ml{display:inline-block;margin-top:12px;padding:6px 12px;border-radius:999px;background:#F7F7F5;font-size:10px;letter-spacing:.14em;color:#6E5429}
/* Headline emphasis: black + gold */
h2 .gx{color:#6E5429;font-weight:600}
.tm h2 .gx, .box h2 .gx, footer h2 .gx{color:#fff;font-weight:600}
/* CEO band: black, large lead paragraph, numerals */
#founder{background:#F7F7F5!important;color:#1A1A1A;padding:96px 0 88px!important}
#founder .founder{align-items:center;gap:clamp(36px,6vw,88px)}
#founder .portrait .img{border-radius:22px;box-shadow:0 40px 70px -40px rgba(26,26,26,.5);outline:1px solid rgba(26,26,26,.1);outline-offset:10px}
#founder .fname{color:#1A1A1A!important;font-size:clamp(40px,4.6vw,62px)!important;letter-spacing:-.03em;margin-bottom:10px}
#founder .fname::after{display:none!important;content:none!important}
#founder .frole{background:none!important;color:#6E5429!important;padding:0!important;margin:18px 0 0!important;font-size:12px!important;letter-spacing:.24em!important;border-radius:0!important}
#founder .fstats{display:grid!important;grid-template-columns:repeat(3,auto)!important;justify-content:start;gap:0!important;border:0!important;background:none!important;margin:38px 0 34px!important;box-shadow:none!important}
#founder .fstats>div{display:block!important;background:none!important;border:0!important;box-shadow:none!important;padding:0 40px 0 0!important;margin:0 40px 0 0!important;border-right:1px solid rgba(26,26,26,.15)!important;transform:none!important}
#founder .fstats>div:last-child{border-right:0!important;margin:0!important}
#founder .fstats>div::before{display:none!important}
#founder .fstats svg{display:none!important}
#founder .fstats b, #founder .fstats>div:nth-child(2) b{display:block;color:#1A1A1A!important;font:500 clamp(30px,3.2vw,44px)/1 var(--serif)!important;letter-spacing:-.02em;white-space:nowrap}
#founder .fstats span{display:block;margin-top:10px;color:#6E5429!important;font-size:10px!important;letter-spacing:.2em!important}
#founder .founder p.t{color:rgba(26,26,26,.74)!important;font-size:15px}
#founder .founder p.t:first-of-type{color:#1A1A1A!important;font:300 clamp(20px,2vw,26px)/1.45 var(--serif)!important;margin-bottom:22px}
@media(max-width:860px){
#founder{padding:64px 0 56px!important}
#founder .fstats{grid-template-columns:1fr!important}
#founder .fstats>div{border-right:0!important;border-bottom:1px solid rgba(26,26,26,.15)!important;padding:16px 0!important;margin:0!important;display:flex!important;flex-direction:row-reverse;justify-content:space-between;align-items:baseline}
#founder .fstats>div:last-child{border-bottom:0!important}
#founder .fstats span{margin:0}
}
#founder .pc, #founder .pc p{color:#1A1A1A!important}
#founder .fstats+p.t{color:#1A1A1A!important;font:300 clamp(20px,2vw,26px)/1.45 var(--serif)!important;margin-bottom:22px}
/* Clean-up: no divider lines, no faded gradient text */
hr, hr.rule, .rule{display:none!important}
.n, .ps .n, .pstep .n, .apr b, .emx h3 b, .fstats b{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important}
.n, .ps .n, .pstep .n, .apr b, .emx h3 b{color:#6E5429!important}
/* Testimonials: light */
.tm{background:#F7F7F5!important;color:#1A1A1A!important}
.tm::before{display:none!important}
.tm h2, .tm h2 .gx{color:#1A1A1A!important}
.tm h2 .gx{color:#6E5429!important}
.teye, .tm .teye{color:#6E5429!important}
.tm .tsub{color:rgba(26,26,26,.74)!important}
.tm .tc, .tm .ts, .tm .tsl{background:#fff!important;border-color:rgba(26,26,26,.1)!important;color:#1A1A1A!important;box-shadow:0 30px 60px -40px rgba(26,26,26,.35)!important}
.tm .tc *, .tm .ts *{color:#1A1A1A}
.tm .tc::before, .tm .tc::after, .tm .ts::before, .tm .ts::after, .tm .tsl::before{color:#fff!important;-webkit-text-fill-color:#fff!important;background-color:transparent}
.tcity, .tm .tcity{color:#6E5429!important}
.tm button, .tm .tp, .tm .tn{border-color:rgba(26,26,26,.25)!important;color:#1A1A1A!important;background:#fff!important}
.tm button.on, .tm .dots .on{background:#6E5429!important;border-color:#6E5429!important}
.tm .dots button, .tm .dots i{background:rgba(26,26,26,.2)!important}
.tm .dots .on{background:#6E5429!important}
/* spacing */
#focus .emx{margin-bottom:44px}
#focus .stmt{margin-bottom:32px}
#intro .stmt{margin-bottom:40px}
.tm .tsl, .tm .ts{background:none!important;box-shadow:none!important;border:0!important}
.tm .tc{background:#fff!important;border:1px solid rgba(26,26,26,.1)!important;box-shadow:0 30px 60px -40px rgba(26,26,26,.35)!important}
.tm .td button{background:rgba(26,26,26,.22)!important;border-color:transparent!important}
.tm .td button.on{background:#6E5429!important}
.hero .hx p{max-width:40em;font-size:clamp(15px,1.3vw,18px);line-height:1.75}
/* Footer: logo gold + mixed headline */
footer .ftag, .lp-page footer .ftag{color:#fff!important}
footer .ftag em, .lp-page footer .ftag em{font-style:normal;color:#fff!important;-webkit-text-fill-color:#fff!important}
footer .ftag{font-weight:300!important}
footer .fcol h4, .lp-page footer .fcol h4{color:#fff!important}
/* Tighter vertical rhythm */
#who, #approach, #team, #testimonials, #values, #faq, #briefing{padding-top:clamp(48px,5.5vw,80px)!important;padding-bottom:clamp(48px,5.5vw,80px)!important}
#strategy, #focus{padding-bottom:clamp(48px,5.5vw,80px)!important}
#founder{padding-top:clamp(56px,6vw,88px)!important;padding-bottom:clamp(48px,5vw,72px)!important}
.lp-page .lps{padding-top:clamp(56px,6vw,84px)!important;padding-bottom:clamp(56px,6vw,84px)!important}
.lp-page .lsel{padding-top:clamp(56px,7vw,96px)!important;padding-bottom:clamp(56px,7vw,96px)!important}
/* Audience cards (shared with the landing page) */
.aud{padding-top:clamp(48px,5.5vw,80px);padding-bottom:clamp(48px,5.5vw,80px)}
.aud .center{text-align:center}
.aud .tsub{max-width:640px;margin:14px auto 40px}
.aud{background:#fff}
.audg{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:start}
.audc{overflow:hidden;border:1px solid rgba(36,29,26,.09);border-radius:20px;background:#fff;box-shadow:0 24px 50px -36px rgba(36,29,26,.4);transition:box-shadow .35s,border-color .35s}
.audc:hover{box-shadow:0 30px 56px -34px rgba(36,29,26,.5)}
.audc.open{border-color:rgba(110,84,41,.5)}
.audc-img{aspect-ratio:4/3;overflow:hidden;background:#F7F7F5}
.audc-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.audc:hover .audc-img img{transform:scale(1.04)}
.audc-b{padding:22px 22px 18px}
.audc h3{margin:0 0 8px;font:600 19px/1.3 var(--sans);letter-spacing:-.01em;color:#1A1A1A}
.audc-for{margin:0;font-size:14px;line-height:1.7;color:rgba(26,26,26,.74);min-height:6.9em}
.audc-p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
.audc.open .audc-p{grid-template-rows:1fr}
.audc-p>div{overflow:hidden;min-height:0;visibility:hidden;padding:0 22px;transition:visibility 0s .45s}
.audc.open .audc-p>div{visibility:visible;transition-delay:0s}
.audc-p ul{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid rgba(36,29,26,.1);display:grid;gap:12px}
.audc-p li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.65;color:#1A1A1A}
.audc-p li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;transform:rotate(45deg);background:#6E5429}
.audc-cta{display:flex;width:100%;box-sizing:border-box;white-space:nowrap;align-items:center;justify-content:center;margin:20px 0 24px;padding:15px 12px;border-radius:999px;background:#6E5429;color:#fff;font:600 11px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;text-align:center;transition:background .3s,color .3s,transform .3s}
.audc-cta:hover{background:#6E5429;color:#fff}
.audc-cta:focus-visible{outline:2px solid #6E5429;outline-offset:3px}
@media(max-width:560px){
.audc-cta{display:flex;width:100%}
}
@media(max-width:1100px){
.audg{grid-template-columns:1fr 1fr}
.audc-for{min-height:0}
}
@media(max-width:620px){
.audg{grid-template-columns:1fr;gap:12px}
.audc{border-radius:18px}
.audc-row{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:14px;align-items:start}
.audc-img{aspect-ratio:1;border-radius:12px}
.audc-b{padding:2px 0 0}
.audc h3{font-size:18px;margin-bottom:4px}
.audc-for{font-size:13.5px;line-height:1.6}
.audc-p>div{padding:0 18px}
.audc-p ul{padding-top:16px}
}
@media(prefers-reduced-motion:reduce){
.audc-p, .audc-img img, .audc{transition:none!important}
}
.audc-t{all:unset;box-sizing:border-box;display:flex;width:fit-content;align-items:center;gap:8px;margin:0 22px 22px;padding:4px 0;border-bottom:1px solid rgba(110,84,41,.4);cursor:pointer;font:600 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#6E5429;transition:color .3s,border-color .3s}
.audc-t:hover, .audc.open .audc-t{border-color:#6E5429;color:#1A1A1A}
.audc-t:focus-visible{outline:2px solid #6E5429;outline-offset:3px}
.audc-t i{flex:none;width:6px;height:6px;margin:-3px 0 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .35s,margin .35s}
.audc.open .audc-t i{transform:rotate(-135deg);margin-top:2px}
.audc.open .audc-t{margin-bottom:16px}
@media(max-width:560px){
.audc-t{margin:0 14px 14px}
.audc.open .audc-t{margin-bottom:12px}
}
.audc-b .audc-t, .audc.open .audc-b .audc-t{margin:12px 0 0}
@media(max-width:560px){
.audc-b .audc-t, .audc.open .audc-b .audc-t{margin:10px 0 0}
.audc-for{min-height:0}
}
.aud .audc{text-align:left}
.aud .tsub{color:rgba(26,26,26,.72)!important;font-family:'Montserrat',var(--sans)}
.aud .audc-for{font-family:'Montserrat',var(--sans)}
.aud .wrap{width:min(1240px,100% - 48px)}
/* Thank-you page: a message from the CEO */
.ty{padding:clamp(120px,10vw,150px) 0 clamp(56px,6vw,96px);background:#fff}
.ty-msg{border:1px solid rgba(26,26,26,.08)}
.ty-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,88px);align-items:center;width:min(1100px,100% - 48px)}
.ty-pic{border-radius:24px;overflow:hidden;background:#F7F7F5;box-shadow:0 40px 70px -44px rgba(26,26,26,.5)}
.ty-pic img{display:block;width:100%;height:auto}
.ty .meta{margin:0 0 14px;font:600 11px/1 'Montserrat',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#6E5429}
.ty h1{margin:0 0 18px;font:600 clamp(40px,5vw,64px)/1.05 'Poppins',sans-serif;letter-spacing:-.03em;color:#1A1A1A}
.ty-msg{padding:28px 30px;border-radius:20px;background:#fff;box-shadow:0 24px 50px -36px rgba(26,26,26,.4)}
.ty-msg p{margin:0 0 14px;font-size:15px;line-height:1.8;color:#1A1A1A}
.ty-sign{margin-top:22px}
.ty-sign b{display:block;font:500 22px/1.2 'Poppins',sans-serif;color:#1A1A1A}
.ty-sign span{display:block;margin-top:6px;font:600 10.5px/1.3 'Montserrat',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6E5429}
@media(max-width:820px){
.ty-grid{grid-template-columns:1fr}
.ty-pic{max-width:340px}
.ty-msg{padding:22px 20px}
}
.ty-msg h2{margin:0 0 18px;font:500 clamp(20px,2vw,24px)/1.25 'Poppins',sans-serif;letter-spacing:-.01em;color:#6E5429}
.ty-sign em{display:block;margin-top:4px;font:400 13px/1.4 'Montserrat',sans-serif;font-style:normal;color:rgba(26,26,26,.7)}
.ty h1{margin-bottom:26px}
body.docpage .dochead{background:#fff}
/* About: breathing room between the statement and the figure cards */
#who .stmt{margin-bottom:clamp(32px,4vw,56px)!important}
@media(max-width:760px){
#who .stmt{font-size:clamp(20px,5.6vw,24px)!important;line-height:1.45!important;margin-bottom:32px!important}
}
/* Thank-you: tighter space under the header */
.ty{padding:clamp(24px,3vw,40px) 0 clamp(48px,5vw,72px)}
body.docpage:has(.ty) .dochead .wrap{max-width:1100px;width:min(1100px,100% - 48px)}
/* Thank-you v2: one balanced screen, portrait spans the full height of the text */
.ty{min-height:calc(100vh - 112px - 80px);display:flex;align-items:center;padding:clamp(24px,3vw,48px) 0}
.ty .ty-grid{align-items:stretch;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,5vw,72px)}
.ty .ty-pic{position:relative;min-height:100%;border-radius:22px}
.ty .ty-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.ty .ty-txt{display:flex;flex-direction:column;justify-content:center;padding:8px 0}
.ty h1{margin:0 0 22px;font-size:clamp(38px,4.2vw,56px);font-weight:500;letter-spacing:-.025em}
.ty h1 b{font:inherit;color:#6E5429}
.ty .ty-msg{background:#F7F7F5;border:0;box-shadow:none;border-radius:20px;padding:clamp(24px,2.6vw,36px)}
.ty .ty-msg p{font-size:16px;line-height:1.75;margin:0 0 14px}
.ty .ty-msg .ty-sign{margin-top:24px}
.ty .ty-txt>p:last-child{margin:24px 0 0}
@media(max-width:900px){
.ty{display:block;min-height:0}
.ty .ty-grid{grid-template-columns:1fr;gap:28px}
.ty .ty-pic{min-height:0;aspect-ratio:4/3;max-width:none;width:100%}
.ty .ty-pic img{object-position:50% 14%}
.ty .ty-msg{padding:22px 20px}
}
/* Thank-you v3: acknowledgement stands alone, letter below, follow links instead of button */
.ty h1{margin-bottom:16px}
.ty .ty-lead{margin:0 0 22px}
.ty .ty-lead p{margin:0 0 8px;font:400 clamp(17px,1.5vw,19px)/1.65 'Montserrat',sans-serif;color:#1A1A1A}
.ty .ty-lead p:first-child{font-weight:600}
.ty .ty-lead p:last-child{margin:0;color:rgba(26,26,26,.78)}
.ty .ty-follow{margin:26px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.ty .ty-follow>p{margin:0;font:600 11px/1 'Montserrat',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6E5429}
.ty .ty-follow>div{display:flex;gap:10px;flex-wrap:wrap}
.ty .ty-follow a{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border:1px solid rgba(110,84,41,.4);border-radius:999px;font:500 13px/1 'Montserrat',sans-serif;color:#1A1A1A;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.ty .ty-follow a svg{width:16px;height:16px;flex:none}
.ty .ty-follow a:hover,.ty .ty-follow a:focus-visible{background:#6E5429;border-color:#6E5429;color:#fff}
.ty .ty-txt>p:last-child{margin:0}
/* Footer: brand gold accents (trial) */
footer .ftag em, .lp-page footer .ftag em{color:#6E5429!important;-webkit-text-fill-color:#6E5429!important}
footer .fcol h4, .lp-page footer .fcol h4{color:#6E5429!important}
/* Footer text must be readable on black */
footer .fbrand p{color:rgba(255,255,255,.72)!important}
footer .disc{color:rgba(255,255,255,.6)!important}
/* Floating contact buttons: WhatsApp and phone */
.cf{position:fixed;right:18px;bottom:18px;z-index:45;display:flex;flex-direction:column;gap:10px}
.cf a{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;text-decoration:none;box-shadow:0 12px 28px -10px rgba(26,26,26,.55);transition:transform .2s,background .2s}
.cf svg{width:24px;height:24px}
.cf .cf-wa{background:#6E5429}
.cf .cf-tel{background:#1A1A1A}
.cf a:hover,.cf a:focus-visible{transform:translateY(-2px);background:#1A1A1A}
.cf .cf-tel:hover,.cf .cf-tel:focus-visible{background:#6E5429}
footer .addr a{color:inherit;text-decoration:none}
footer .addr a:hover{color:#fff;text-decoration:underline}
@media(max-width:860px){.cf{right:12px;bottom:12px}.cf a{width:48px;height:48px}}
@media(max-width:860px){.cf:has(~ .pn:not([hidden])){bottom:100px}}
/* Language menu */
.lang{position:relative;margin-inline-start:auto;margin-inline-end:14px;z-index:6}
.lang-b{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(26,26,26,.28);border-radius:999px;background:rgba(255,255,255,.7);color:#1A1A1A;font:600 11px/1 var(--sans);letter-spacing:.14em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,border-color .2s}
.lang-b svg{width:16px;height:16px;flex:none}
.lang-b:hover,.lang-b[aria-expanded="true"]{background:#fff;border-color:#6E5429}
.lang-m{list-style:none;margin:8px 0 0;padding:6px;position:absolute;top:100%;inset-inline-end:0;min-width:168px;background:#fff;border:1px solid rgba(26,26,26,.1);border-radius:14px;box-shadow:0 20px 44px -18px rgba(26,26,26,.45)}
.lang-m[hidden]{display:none}
.lang-m a{display:block;padding:10px 14px;border-radius:9px;color:#1A1A1A;text-decoration:none;font:500 14px/1.3 var(--sans);letter-spacing:0}
.lang-m a:hover,.lang-m a:focus-visible{background:#F7F7F5;color:#6E5429}
.lang-m a[aria-current="true"]{color:#6E5429;font-weight:600}
/* Arabic (right to left) */
html[lang="ar"]{--sans:'Cairo','Segoe UI',Tahoma,Arial,sans-serif;--serif:'Cairo','Segoe UI',Tahoma,Arial,sans-serif}
html[dir="rtl"] *{letter-spacing:0!important;text-transform:none!important}
html[dir="rtl"] body{direction:rtl;text-align:start}
html[dir="rtl"] .cf{right:auto;left:18px}
html[dir="rtl"] .pn{left:auto;right:16px}
@media(max-width:860px){html[dir="rtl"] .cf{left:12px}html[dir="rtl"] .pn{left:12px;right:12px}}
html[dir="rtl"] footer .ftag{padding-right:0;padding-left:min(18%,260px)}
@media(max-width:860px){html[dir="rtl"] footer .ftag{padding-left:0}}
/* scrolling strips keep their mechanics left to right; the text inside them reads right to left */
html[dir="rtl"] .tsl,html[dir="rtl"] .lph-proof{direction:ltr}
html[dir="rtl"] .tsl .ts,html[dir="rtl"] .lph-proof .wset>*{direction:rtl;text-align:start}
html[dir="rtl"] .tsl > :not(.tsv){direction:ltr}

/* Section rhythm (home page): strictly alternate soft white / white, equal vertical space */
body:not(.lp-page){--sp:clamp(64px,8vw,104px)}
body:not(.lp-page) :is(#who,#strategy,#approach,#developers,#team,#values,#faq){background:#F7F7F5!important}
body:not(.lp-page) :is(#audience,#focus,#selective,#founder,#testimonials,#briefing){background:#fff!important}
body:not(.lp-page) :is(#who,#audience,#strategy,#focus,#approach,#selective,#developers,#founder,#team,#testimonials,#values,#briefing,#faq){padding-top:var(--sp)!important;padding-bottom:var(--sp)!important}

/* Projects of the month (home page): one project at a time, from tools/projects-month.json */
.pom-head{max-width:760px;margin:0 auto clamp(36px,5vw,56px);text-align:center}
.pom-eye{margin:0 0 14px;font:600 11px/1.4 'Montserrat',var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#6E5429}
.pom-eye span+span::before{content:"·";margin:0 .6em}
.pom-head h2{margin:0;font:500 clamp(28px,3.4vw,40px)/1.15 'Poppins',var(--serif);letter-spacing:-.025em;color:#1A1A1A}
.pom-head h2 b{color:#6E5429;font-weight:500}
.pom-sub{max-width:560px;margin:16px auto 0;font:400 16px/1.7 'Montserrat',var(--sans);color:rgba(26,26,26,.74)}
.pom-view{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:18px;outline-offset:6px}
.pom-view::-webkit-scrollbar{display:none}
.pom-track{display:flex}
.pom-s{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.pom-img{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#F7F7F5}
.pom-g{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;direction:ltr;outline-offset:-3px}
.pom-g::-webkit-scrollbar{display:none}
.pom-g img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.pom-gp,.pom-gx{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1A1A1A;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;opacity:0;transition:opacity .2s,background .2s,color .2s}
.pom-gp{left:14px}.pom-gx{right:14px}
.pom-gp svg,.pom-gx svg{width:16px;height:16px}
.pom-img:hover .pom-gp,.pom-img:hover .pom-gx,.pom-gp:focus-visible,.pom-gx:focus-visible{opacity:1}
.pom-gp:hover,.pom-gx:hover{background:#6E5429;color:#fff}
.pom-gd{direction:ltr;position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:7px;pointer-events:none}
.pom-gd span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55)}
.pom-gd span.on{background:#fff}
@media(hover:none){.pom-gp,.pom-gx{opacity:1;width:34px;height:34px}}
.pom-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:32px;text-align:center;font:500 clamp(22px,2.2vw,30px)/1.2 'Poppins',var(--serif);letter-spacing:-.02em;color:rgba(26,26,26,.32);border:1px solid rgba(26,26,26,.1);border-radius:18px}
.pom-meta{display:flex;align-items:center;gap:12px;margin:0 0 12px;font:600 11px/1.4 'Montserrat',var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#6E5429}
.pom-n{font:500 13px/1 'Poppins',var(--serif);letter-spacing:0;color:#1A1A1A}
.pom-b h3{margin:0;font:500 clamp(24px,2.4vw,32px)/1.15 'Poppins',var(--serif);letter-spacing:-.02em;color:#1A1A1A}
.pom-t{margin:14px 0 0;font:400 16px/1.7 'Montserrat',var(--sans);color:rgba(26,26,26,.78);max-width:52ch}
.pom-f{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:26px 0 30px}
.pom-f div{margin:0}
.pom-f dt{font:600 10.5px/1.3 'Montserrat',var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(26,26,26,.56)}
.pom-f dd{margin:6px 0 0;font:500 15px/1.4 'Montserrat',var(--sans);color:#1A1A1A}
.pom-nav{display:flex;align-items:center;gap:20px;margin-top:clamp(28px,3vw,40px)}
.pom-c{font:400 13px/1 'Montserrat',var(--sans);letter-spacing:.08em;color:rgba(26,26,26,.56);min-width:58px}
.pom-c b{font-weight:600;color:#1A1A1A}
.pom-dots{display:flex;gap:8px;flex-wrap:wrap}
.pom-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(26,26,26,.2);cursor:pointer;transition:width .35s,background .35s}
.pom-dots button.on{width:26px;background:#6E5429}
.pom-arr{display:flex;gap:10px;margin-inline-start:auto}
.pom-arr button{display:grid;place-items:center;width:46px;height:46px;padding:0;border-radius:50%;border:1px solid #6E5429;background:#fff;color:#6E5429;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.pom-arr button:hover,.pom-arr button:focus-visible{background:#6E5429;border-color:#6E5429;color:#fff}
.pom-arr svg{width:18px;height:18px}
.pom-note{margin:22px 0 0;font:400 12px/1.6 'Montserrat',var(--sans);color:rgba(26,26,26,.56)}
html[dir="rtl"] .pom-view{direction:ltr}
html[dir="rtl"] .pom-s{direction:rtl}
html[dir="rtl"] .pom-nav{direction:ltr}
@media(max-width:900px){
.pom-s{grid-template-columns:1fr;gap:24px;align-items:start}
.pom-f{margin:22px 0 26px}
.pom-nav{gap:14px}
.pom-c{display:none}
}
@media(max-width:520px){
.pom-f{grid-template-columns:1fr;gap:14px}
.pom-b .btn{display:block;text-align:center}
}
@media(prefers-reduced-motion:reduce){.pom-view{scroll-behavior:auto}.pom-dots button{transition:none}}
/* Brand primary button: deep gold fill, white uppercase text, pill, black on hover */
.pom-b .btn{background:#6E5429!important;border-color:#6E5429;color:#fff!important;letter-spacing:.14em}
.pom-b .btn:hover,.pom-b .btn:focus-visible{background:#1A1A1A!important;border-color:#1A1A1A}

/* Projects of the month (home page): its own background and spacing only; other sections keep theirs */
body:not(.lp-page) #projects{background:#fff!important;padding-top:var(--sp)!important;padding-bottom:var(--sp)!important}

/* Projects of the month: consultation pop-up (same look as the landing page form) */
dialog.pomd{width:min(440px,calc(100vw - 24px));max-width:none;max-height:none;padding:0;border:0;background:transparent;overflow:visible;color:#1A1A1A}
dialog.pomd::backdrop{background:rgba(26,26,26,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
dialog.pomd[open]{animation:pomd-in .28s cubic-bezier(.2,.7,.2,1)}
@keyframes pomd-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.pomd-c{position:relative;width:100%;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;border-radius:18px;background:#fff;color:#1A1A1A;border:1px solid rgba(26,26,26,.1);box-shadow:0 50px 90px -48px rgba(26,26,26,.55),0 12px 30px -18px rgba(26,26,26,.25)}
.pomd-x{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;border:1px solid rgba(26,26,26,.18);border-radius:50%;background:rgba(26,26,26,.05);color:#1A1A1A;font:400 22px/1 'Montserrat',var(--sans);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s}
.pomd-x:hover{background:#6E5429;color:#fff}
.pomd-body{padding:clamp(24px,2.6vw,32px);padding-top:clamp(26px,2.8vw,34px)}
.pomd-body h2{margin:0;padding-right:40px;font:500 clamp(20px,1.8vw,23px)/1.25 'Poppins',var(--sans);letter-spacing:-.015em;color:#1A1A1A}
.pomd-body>p{margin:10px 0 22px;font:400 14px/1.7 'Montserrat',var(--sans);color:rgba(26,26,26,.74)}
.pomd .lf{display:grid;grid-template-columns:1fr;gap:14px;padding:0;border:0!important;border-radius:0;box-shadow:none!important;background:none}
.pomd .lf label{font-size:10.5px;letter-spacing:.16em;color:rgba(26,26,26,.74)}
.pomd .lf input,.pomd .lf select{background:#fff;border:1px solid rgba(26,26,26,.22);border-radius:8px;padding:12px 14px;color:#1A1A1A;transition:border-color .25s,box-shadow .25s}
.pomd .lf input:focus,.pomd .lf select:focus{outline:0;border-color:#6E5429;box-shadow:0 0 0 3px rgba(110,84,41,.25)}
.pomd .lf .btn{width:100%;margin-top:4px;padding:16px 24px;border-radius:8px;text-align:center;background:#6E5429!important;color:#fff!important;border:1px solid #6E5429;letter-spacing:.2em;font-size:11.5px;transition:background .3s,color .3s}
.pomd .lf .btn:hover,.pomd .lf .btn:focus-visible{background:#1A1A1A!important;border-color:#1A1A1A}
.pomd .lf .st:empty{display:none}
.pomd .lf .cn{margin:0;font-size:12px;line-height:1.55;color:rgba(26,26,26,.74);text-align:center}
.pomd .lf .cn a{color:#1A1A1A;text-decoration:underline}
html[dir="rtl"] .pomd-c{direction:rtl}
@media(prefers-reduced-motion:reduce){dialog.pomd[open]{animation:none}}

/* Team: cards stay the same size and are centred whatever the number of members */
#team .mg{display:flex;flex-wrap:wrap;justify-content:center}
#team .mc{flex:0 0 calc((100% - 72px)/4);min-width:0}
@media(max-width:900px){#team .mc{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:420px){#team .mc{flex-basis:calc((100% - 12px)/2)}}

/* brand: native controls use brand gold */
input[type=checkbox],input[type=radio]{accent-color:#6E5429}
/* French founder block: longer figures and labels must not squeeze the portrait */
@media(min-width:861px){html[lang="fr"] #founder .founder{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}html[lang="fr"] #founder .fstats b,html[lang="fr"] #founder .fstats>div:nth-child(2) b{font-size:clamp(20px,1.95vw,30px)!important}html[lang="fr"] #founder .fstats>div{padding-right:20px!important;margin-right:20px!important}html[lang="fr"] #founder .fstats span{letter-spacing:.14em!important}}
@media(max-width:860px){html[lang="fr"] #founder .fstats b,html[lang="fr"] #founder .fstats>div:nth-child(2) b{font-size:clamp(20px,6vw,26px)!important}html[lang="fr"] #founder .fstats span{letter-spacing:.14em!important}}
