/* Minimal White Coming Soon – with Hero Slider */

:root{
  --bg:#ffffff;
  --text:#111111;
  --muted:#6f6f6f;
  --line:#e6e6e6;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
}

.page{
  min-height:100%;
  display:grid;
  grid-template-columns: minmax(320px, 520px) 1fr;
}

.left{
  border-right:1px solid var(--line);
  padding:40px 44px 28px;
  display:flex;
  flex-direction:column;
}

.logo{ height:100px; }

.content{
  margin-top:25px;
  max-width:48ch;
  animation: rise .7s ease both;
}

.kicker{
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--muted);
  margin-bottom:10px;
}

h1{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(44px, 4.8vw, 65px);
  line-height:.95;
  margin:0 0 14px;
    margin-bottom: 20px;
}

.lead{
  font-size:15.5px;
  line-height:1.75;
  margin-bottom:30px;
}

.meta{
  border-top:1px solid var(--line);
  padding-top:14px;
  display:grid;
  gap:14px;
}

.label{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}

.value{ font-size:14.5px; }

a{
  color:var(--text);
  text-decoration:none;
  position:relative;
}
a:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:100%;
  height:1px;
  background:var(--text);
  transform:scaleX(0);
  transform-origin:left;
  transition:.22s ease;
}
a:hover:after{ transform:scaleX(1); }

.links{
  margin-top:40px;
  font-size:13px;
  color:var(--muted);
  display:flex;
  gap:10px;
}
.links a{ color:var(--muted); }
.links a:after{ background:var(--muted); bottom:-2px; }
.dot{ color:#b8b8b8; }

.foot{
  margin-top:auto;
  border-top:1px solid var(--line);
  padding-top:24px;
  display:flex;
  justify-content:space-between;
}

.small{ font-size:12px; }
.muted{ color:var(--muted); }

/* Right / slider */
.right{
  position:relative;
  overflow:hidden;
}

.hero-slider{
  position:absolute;
  inset:0;
}

.slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.06);
  transition:opacity 900ms ease;
}

.slide.is-active{
  opacity:1;
  animation: slowPan 14s ease-in-out infinite alternate;
}

@keyframes slowPan{
  from{ background-position:48% 50%; }
  to{ background-position:56% 46%; }
}

.caption{
  position:absolute;
  left:28px;
  bottom:24px;
}

.pill{
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.75);
  border-radius:999px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.grain{
  position:fixed;
  inset:-20%;
  pointer-events:none;
  opacity:.07;
  background:url("grain.png") repeat;
  animation: grainMove 9s steps(6) infinite;
}

@keyframes grainMove{
  0%{ transform:translate(0,0); }
  100%{ transform:translate(-5%,5%); }
}

@keyframes rise{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

@media (max-width:980px){
  .page{ grid-template-columns:1fr; }
  .left{ border-right:none; border-bottom:1px solid var(--line); }
  .right{ min-height:50vh; }
}
