/* =========================================================
   Anthony Jones Collection — Coming Soon
   Brand colours: red + white. Mobile-first.
   ========================================================= */

:root{
  --red:      #DD423D;   /* logo red            */
  --red-deep: #B4302C;   /* hover / pressed     */
  --ink:      #1A1613;   /* near-black text     */
  --paper:    #FFFFFF;   /* white               */
  --mist:     #F6F1EF;   /* faint warm off-white */
  --line:     rgba(26,22,19,.14);
  --ease:     cubic-bezier(.16,1,.3,1);
  --pad:      clamp(1.15rem, 5vw, 2.5rem);
  --maxw:     1180px;
}

*,*::before,*::after{ box-sizing:border-box; min-width:0; }

html{
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
  scroll-behavior:smooth;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Valley Sans", ui-sans-serif, system-ui, sans-serif;
  font-size:clamp(1rem, .96rem + .3vw, 1.13rem);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--red); color:#fff; }

h1,h2,h3{
  font-family:"Valley Sans", ui-sans-serif, system-ui, sans-serif;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.03;
  margin:0;
}

p,li,label,input,figcaption{
  overflow-wrap:break-word;
}
h1,h2,h3{ text-wrap:balance; }

.eyebrow{
  font-family:"Valley Sans", sans-serif;
  font-weight:700;
  font-size:.74rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--red);
  margin:0 0 1rem;
}
.eyebrow--light{ color:#fff; opacity:.85; }

/* ---------- buttons ---------- */
.btn{
  display:inline-block;
  font-family:"Valley Sans", sans-serif;
  font-weight:700;
  font-size:.9rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:.95rem 1.9rem;
  border-radius:999px;
  border:2px solid var(--red);
  cursor:pointer;
  transition:background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
.btn--solid{ background:var(--red); color:#fff; }
.btn--solid:hover{ background:var(--red-deep); border-color:var(--red-deep); transform:translateY(-2px); }
.btn--block{ display:block; width:100%; border:none; }
.list .btn--solid{ background:#fff; color:var(--red); }
.list .btn--solid:hover{ background:var(--ink); color:#fff; }

/* ---------- masthead ---------- */
.masthead{
  display:flex;
  justify-content:center;
  padding:clamp(1.4rem,4vw,2.4rem) var(--pad) 0;
}
.masthead__logo{ width:clamp(190px, 42vw, 300px); border-radius:8px; }

/* ---------- hero ---------- */
.hero{
  max-width:var(--maxw);
  margin:0 auto;
  padding:clamp(2.5rem,7vw,4.5rem) var(--pad) clamp(3rem,8vw,5rem);
  text-align:center;
}
.hero__tagline{
  font-family:"Valley Sans", sans-serif;
  font-weight:700;
  font-size:clamp(1rem,1.4vw + .7rem,1.4rem);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
  margin:0 0 1.1rem;
}
.hero__title{
  font-size:clamp(2.6rem, 9.8vw, 6.4rem);
  text-transform:uppercase;
}
@media (max-width:600px){
  .hero__title{ font-size:clamp(2.3rem, 10.5vw, 2.9rem); }
}
.hero__title span{ color:var(--red); }
.hero__sub{
  max-width:44ch;
  margin:1.5rem auto 2rem;
  font-size:clamp(1.02rem,1vw + .8rem,1.2rem);
  color:#4a423d;
}

.hero__photos{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1rem,3vw,1.6rem);
  margin-top:clamp(2.6rem,7vw,4rem);
}
.hero__photo{
  margin:0;
  border-radius:14px;
  overflow:hidden;
  background:var(--mist);
  border:1px solid var(--line);
}
.hero__photo img{ width:100%; height:100%; object-fit:cover; }

@media (min-width:720px){
  .hero__photos{ grid-template-columns:1fr 1fr; align-items:stretch; }
  .hero__photo:first-child img{ aspect-ratio:1168/2114; }
  .hero__photo:last-child img{ aspect-ratio:1169/1263; }
}

/* ---------- founder ---------- */
.founder{
  background:var(--mist);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:clamp(3.5rem,10vw,6.5rem) var(--pad);
}
.founder__inner{
  max-width:780px;
  margin:0 auto;
  text-align:center;
  font-family:"Valley Sans", ui-sans-serif, system-ui, sans-serif;
}
.founder__quote{
  font-size:clamp(1.5rem,3.4vw,2.35rem);
  font-weight:700;
  line-height:1.28;
  letter-spacing:-.01em;
}
.founder__sign{
  margin:1.8rem 0 0;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.82rem;
  color:var(--red);
}

/* ---------- mailing list ---------- */
.list{
  background:var(--red);
  color:#fff;
  padding:clamp(3.5rem,10vw,6.5rem) var(--pad);
}
.list__inner{
  max-width:960px;
  margin:0 auto;
  display:grid;
  gap:clamp(2rem,5vw,3.5rem);
}
@media (min-width:860px){
  .list__inner{ grid-template-columns:1.1fr 1fr; align-items:start; }
}
.list__copy h2{
  font-size:clamp(1.7rem,3.2vw,2.5rem);
  line-height:1.15;
}
.list__lead{
  margin:1.2rem 0 0;
  opacity:.92;
  font-size:1.02rem;
}

.list__form{
  background:#fff;
  color:var(--ink);
  border-radius:16px;
  padding:clamp(1.5rem,4vw,2.4rem);
}
.field{ margin-bottom:1.1rem; }
.field label{
  display:block;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:.45rem;
}
.field input{
  width:100%;
  font:inherit;
  padding:.8rem .95rem;
  border:2px solid var(--line);
  border-radius:10px;
  background:var(--paper);
  transition:border-color .2s var(--ease);
}
.field input:focus{ outline:none; border-color:var(--red); }
.field input.is-invalid{ border-color:var(--red); background:#fdecec; }
.field__err{
  display:block;
  min-height:1.1em;
  margin-top:.35rem;
  font-size:.8rem;
  font-weight:600;
  color:var(--red-deep);
}
.list__note{
  margin:1rem 0 0;
  font-size:.82rem;
  color:#6a615c;
  line-height:1.5;
}
.list__success{
  margin-top:1.1rem;
  padding:1rem 1.1rem;
  border-radius:10px;
  background:#f0f8f0;
  border:1px solid #bcdcbc;
  font-size:.95rem;
  line-height:1.55;
}
.list__success strong{ display:block; }

/* ---------- footer ---------- */
.foot{
  text-align:center;
  padding:clamp(2.6rem,7vw,4rem) var(--pad);
  background:var(--paper);
}
.foot__logo{ width:clamp(160px,38vw,230px); margin:0 auto 1.2rem; border-radius:8px; }
.foot__tag{
  font-family:"Valley Sans", sans-serif;
  font-weight:700;
  letter-spacing:.05em;
  margin:0 0 .8rem;
}
.foot__social{
  display:flex;
  justify-content:center;
  gap:1.6rem;
  margin:0 0 1.4rem;
}
.foot__social a{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#4a423d;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s var(--ease), border-color .2s var(--ease);
}
.foot__social a svg{
  width:18px;
  height:18px;
  flex-shrink:0;
}
.foot__social a:hover{
  color:var(--red);
  border-color:var(--red);
}
.foot__legal{
  font-size:.8rem;
  color:#8a807a;
  margin:0;
}

/* ---------- reveal on scroll ---------- */
.js-reveal .reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.js-reveal .reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .js-reveal .reveal{ opacity:1; transform:none; transition:none; }
}
