/* home page */

.hero {
  position:relative;
  height:calc(100vh - 97px); min-height:460px;
  display:flex; flex-direction:column;
  padding-bottom:40px;
  margin-top:-3px;

  background-image: linear-gradient(
      to right,
      rgba(10,10,10,.80) 0%,
      rgba(10,10,10,.35) 100%
    ),
    url('https://images.unsplash.com/photo-1581279218402-2c82762e4779?w=1920&q=80');
  background-size:cover;
  background-position:center;
  background-color:var(--dark2);
}

.hero__inner {
  flex:1;
  display:flex; flex-direction:column; justify-content:center;
  padding:40px clamp(24px,5vw,80px);
  max-width:700px;
}

.hero__h1 {
  font-family:'Gloock',serif;
  font-size:clamp(2.2rem,4vw,6rem);
  font-weight:600; line-height:1.08; letter-spacing:.012em;
  margin-bottom:14px;
  text-shadow:0 2px 24px rgba(0,0,0,.6);
}

.hero__line--1,
.hero__line--3 { color:rgba(255,255,255,.9); }

.hero__line--2 { color:var(--red); font-size:1.08em; }
.hero__line--2 em { font-style:italic; color:inherit; }

.hero__body {
  font-size:clamp(.82rem,1vw,1rem); font-weight:400;
  color:rgba(180,180,180,.85); line-height:1.75;
  max-width:420px; margin-bottom:28px;
}

.hero__btns { display:flex; gap:12px; }
.hero__btns .btn-red,
.hero__btns .btn-outline-white {
  font-size:clamp(.62rem,.65vw,.75rem);
  padding:clamp(12px,1.2vw,16px) clamp(24px,2.2vw,40px);
}

/* strip animations */
@keyframes stripSlideUp   { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes stripFromLeft  { from { opacity:0; transform:translateX(-36px); } to { opacity:1; transform:translateX(0); } }
@keyframes stripFromRight { from { opacity:0; transform:translateX(36px);  } to { opacity:1; transform:translateX(0); } }
@keyframes stripFromAbove { from { opacity:0; transform:translateY(-22px); } to { opacity:1; transform:translateY(0); } }

.hero__strip {
  display:flex; flex-wrap:wrap;
  background:var(--red);
  opacity:0;
  animation:stripSlideUp .5s 1.2s cubic-bezier(.22,.6,.36,1) forwards;
}
.hero__strip-item {
  flex:1 1 180px;
  display:flex; align-items:center; justify-content:center;
  padding:18px clamp(16px,2.5vw,40px);
  font-family:'Inter',sans-serif; font-size:clamp(.62rem,.7vw,.72rem);
  letter-spacing:.15em; text-transform:uppercase; font-weight:500;
  color:rgba(255,255,255,.9);
  border-right:1px solid rgba(255,255,255,.18);
  opacity:0;
}
.hero__strip-item:last-child { border-right:none; }

.hero__strip-item:nth-child(1) { animation:stripFromLeft  .55s 1.4s  cubic-bezier(.22,.6,.36,1) forwards; }
.hero__strip-item:nth-child(2) { animation:stripFromAbove .55s 1.58s cubic-bezier(.22,.6,.36,1) forwards; }
.hero__strip-item:nth-child(3) { animation:stripFromRight .55s 1.76s cubic-bezier(.22,.6,.36,1) forwards; }

.hero__line { display:block; opacity:0; white-space:nowrap; }
.hero__body.hero__line { white-space:normal; }
.hero__line--1 { animation:dropDown .7s .05s cubic-bezier(.22,.6,.36,1) forwards; }
.hero__line--2 { animation:riseUp  .7s .25s cubic-bezier(.22,.6,.36,1) forwards; }
.hero__line--3 { animation:dropDown .7s .45s cubic-bezier(.22,.6,.36,1) forwards; }
.hero__line--4 { animation:dropDown .5s .65s cubic-bezier(.22,.6,.36,1) forwards; }
.hero__line--5 { animation:dropDown .5s .78s cubic-bezier(.22,.6,.36,1) forwards; }

@keyframes dropDown {
  from { opacity:0; transform:translateY(-18px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes riseUp {
  from { opacity:0; transform:translateY(18px); }
  to   { opacity:1; transform:translateY(0); }
}

@media(max-width:900px) {
  .hero__line { white-space:normal; }
}

/* who we advise */




.wwa { background:var(--cream); padding:60px clamp(24px,5vw,80px) 40px; }
.wwa__inner { max-width:var(--max); margin:0 auto; }
.wwa__left { }
.wwa__h2 {
  font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:700; letter-spacing:-.01em; margin-bottom:40px; line-height:1.1; color:var(--dark);
}


.wwa__intro {
  font-family:'Inter',sans-serif; font-size:clamp(.86rem,1.1vw,.95rem);
  line-height:1.8; color:#6b6b6b; max-width:620px; margin-bottom:48px;
}


.wwa__list {
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-bottom:clamp(20px,2vw,28px);
}
.wwa__list-item {
  padding:18px 24px 18px 0;
  border-bottom:1px solid var(--red);
  font-family:'Inter',sans-serif;
  font-size:.72rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--dark);
  position:relative;
  transition:color .2s, padding-left .2s;
}
.wwa__list-item:nth-child(-n+2) { border-top:1px solid var(--red); }
.wwa__list-item:nth-child(odd)  { padding-right:40px; }
.wwa__list-item:nth-child(even) { padding-left:24px; border-left:1px solid rgba(147,0,0,.2); }
.wwa__list-item:hover,
.wwa__list-item--active { color:var(--red); padding-left:8px; }
.wwa__list-item:nth-child(even):hover,
.wwa__list-item:nth-child(even).wwa__list-item--active { padding-left:32px; }

.wwa__detail {
  max-height:0; overflow:hidden;
  transition:max-height .38s cubic-bezier(.22,.6,.36,1);
}
.wwa__detail.open { max-height:300px; }
.wwa__detail-inner {
  border-top:2px solid var(--red);
  padding:28px 0 8px;
  display:flex; flex-direction:column;
  gap:12px;
}
.wwa__detail-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.1rem,1.8vw,1.4rem);
  font-weight:700; color:var(--dark);
  letter-spacing:-.01em; line-height:1.2;
}
.wwa__detail-body {
  font-family:'Inter',sans-serif;
  font-size:.88rem; font-weight:300;
  color:#6b6b6b; line-height:1.85;
}

.wwa__more {
  margin-top:clamp(12px,1.5vw,18px);
}

.wwa-more-anim {
  opacity:0; transform:translateY(12px);
  transition:opacity .45s ease, transform .45s cubic-bezier(.22,.6,.36,1);
}
.wwa-more-anim.in { opacity:1; transform:none; }


/* what we solve */
.wws { background:#fff; padding:80px clamp(24px,5vw,80px); position:relative; overflow:hidden; }
.wws__inner { max-width:var(--max); margin:0 auto; position:relative; z-index:1; }
.wws__h2 {
  font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:700; color:var(--dark);
  letter-spacing:-.01em; margin-bottom:56px; line-height:1.1;
}


.wws__intro { max-width:680px; margin-bottom:56px; }
.wws__intro-text {
  font-family:'Inter',sans-serif; font-size:clamp(.88rem,1.2vw,1rem);
  line-height:1.8; color:rgba(26,26,26,.6); margin-bottom:10px;
}
.wws__intro-attr {
  font-family:'Inter',sans-serif; font-size:.65rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:rgba(26,26,26,.4);
}

.wws__grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,24px);
}
.wws__card {
  background:var(--cream); padding:clamp(16px,2vw,20px);
  display:flex; flex-direction:column; gap:14px;
  border:1.5px solid var(--red);
}
.wws__card-title {
  font-family:'Inter',sans-serif; font-size:clamp(.9rem,1.2vw,1rem);
  font-weight:600; color:var(--dark); letter-spacing:-.01em; line-height:1.3;
}
.wws__card-text {
  font-family:'Inter',sans-serif; font-size:.84rem;
  line-height:1.75; color:rgba(26,26,26,.5); flex:1;
}
.wws__card-more {
  max-height:0; overflow:hidden;
  transition:max-height .4s cubic-bezier(.22,.6,.36,1), opacity .3s;
  opacity:0;
}
.wws__card.open .wws__card-more { max-height:200px; opacity:1; }
.wws__card-more p {
  font-family:'Inter',sans-serif; font-size:.84rem;
  line-height:1.75; color:rgba(26,26,26,.5);
}
.wws__more {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Inter',sans-serif; font-size:.62rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:#fff;
  text-decoration:none; background:var(--red);
  border:1px solid var(--red); padding:14px 32px;
  position:relative; overflow:hidden; z-index:0; transition:color .3s;
  margin-top:clamp(12px,1.5vw,18px);
}
.wws__more::before {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.12);
  transform:scaleX(0); transform-origin:left; z-index:-1;
}
.wws__more:hover::before { transform:scaleX(1); transition:transform .3s ease; }


.wws__details { margin-top:72px; display:flex; flex-direction:column; gap:56px; }
.wws__detail {
  display:grid; grid-template-columns:clamp(160px,28vw,320px) 1fr;
  gap:clamp(32px,5vw,72px); align-items:center;
  padding-top:48px; border-top:1px solid var(--border);
}
.wws__detail:nth-child(even) { grid-template-columns:1fr clamp(160px,28vw,320px); }
.wws__detail:nth-child(even) .wws__detail-img { order:2; }
.wws__detail:nth-child(even) .wws__detail-content { order:1; }
.wws__detail-img {
  aspect-ratio:4/3; background:rgba(26,26,26,.07);
  display:flex; align-items:center; justify-content:center;
  font-family:'Inter',sans-serif; font-size:.62rem;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(26,26,26,.3);
}
.wws__detail-title {
  font-family:'Inter',sans-serif; font-size:clamp(1rem,1.8vw,1.3rem);
  font-weight:600; color:var(--dark); margin-bottom:16px; letter-spacing:-.01em;
}
.wws__detail-body {
  font-family:'Inter',sans-serif; font-size:.88rem;
  line-height:1.85; color:rgba(26,26,26,.6);
}


/* trust section */
.trust { background:var(--grey-dark); padding:56px clamp(24px,5vw,80px); }
.trust__inner {
  max-width:var(--max); margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(40px,8vw,120px); align-items:center;
}
.trust__stats { display:flex; flex-direction:column; gap:0; }
.trust__stat {
  display:flex; align-items:baseline; gap:20px;
  padding:20px 0; border-bottom:1px solid rgba(147,0,0,.4);
}
.trust__stat:first-child { border-top:1px solid rgba(147,0,0,.4); }
.trust__num {
  font-family:'Gloock',serif; font-size:clamp(2.2rem,4vw,3.2rem);
  color:#fff; line-height:1; flex-shrink:0;
}
.trust__label {
  font-family:'Inter',sans-serif; font-size:.78rem;
  letter-spacing:.08em; text-transform:uppercase;
  line-height:1.5; color:rgba(255,255,255,.5);
}
.trust__creds { display:flex; flex-direction:column; gap:22px; }
.trust__cred {
  display:flex; align-items:center; gap:14px;
}
.trust .sq-ol__grey { border-color:rgba(255,255,255,.4); }

.trust__cred { opacity:0; transform:translateY(0); transition:opacity .3s; }
.trust__cred.tc-show { opacity:1; }
.trust__cred p { opacity:0; transition:opacity .3s; }
.trust__cred p.tc-text-show { opacity:1; }
.trust__cred p {
  font-family:'Inter',sans-serif; font-size:.88rem;
  line-height:1.7; color:rgba(255,255,255,.7);
}

/* quote section */
.lq {
  background-color: var(--cream);
  background-image: url('pattern-light.svg');
  background-repeat: no-repeat;
  background-size: 140%;
  background-position: center center;
  padding: 80px clamp(24px,5vw,80px);
}
.lq__inner {
  max-width:760px; margin:0 auto; text-align:center;
}
.lq__quote {
  font-family:'Gloock',serif;
  font-size:clamp(1.3rem,2.8vw,2rem); color:var(--dark);
  line-height:1.65; margin-bottom:28px;
}
.lq__quote.fade     { transform:translateY(20px); }
.lq__quote.fade.in  { transform:translateY(0); }
.lq__attr {
  font-family:'Inter',sans-serif; font-size:.62rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:rgba(26,26,26,.3);
}


@media(max-width:768px) {
  .hero { height:auto; min-height:calc(80svh - 71px); margin-top:0; }
  .hero__inner { padding:40px 20px 36px; max-width:100%; }
  .hero__h1 { font-size:clamp(2.2rem,8vw,3.2rem); }
  .hero__line--2 { font-size:1.05em; }
  .hero__body { font-size:.82rem; max-width:100%; }
  .hero__btns { flex-direction:column; gap:10px; align-items:flex-start; }
  .hero__btns a { width:auto; text-align:center; }
  .hero__strip { flex-direction:row; flex-wrap:nowrap; }
  .hero__strip-item {
    flex:1 1 0;
    border-right:1px solid rgba(255,255,255,.15);
    border-bottom:none;
    padding:12px 10px;
    justify-content:center; text-align:center;
    font-size:clamp(.48rem,2.8vw,.6rem);
  }
  .hero__strip-item:last-child { border-right:none; }
  .wwa { padding:60px 20px; }
  .wwa__grid { grid-template-columns:repeat(2,1fr); }
  .wws__grid { grid-template-columns:1fr; }
  .trust__inner { grid-template-columns:1fr; }
}
