/* ══════════════════════════════════════════════════════════
   REGISTER INTEREST · SITE OF THE MONTH
   ══════════════════════════════════════════════════════════ */
.rg-root{
  --ink:#0e0e10; --paper:#f5f1ea; --muted:#6b6760;
  --line:rgba(14,14,16,.14); --accent:#8b6f47;
  --glass:rgba(245,241,234,.72);
  font-family:'Inter',sans-serif; color:var(--ink);
}
.rg-root *{ box-sizing:border-box; }
.rg-shell{ position:relative; z-index:2; max-width:1680px; margin:0 auto; padding:clamp(160px, 18vw, 220px) clamp(20px,5vw,80px) 120px; }

/* ── HERO SECTION ── */
.rg-hero{
  min-height:60vh; display:flex; flex-direction:column;
  justify-content:center; position:relative;
  padding:clamp(100px,14vh,180px) 0 clamp(60px,8vh,100px);
}
.rg-eyebrow{
  font-size:10px; letter-spacing:.4em; text-transform:uppercase;
  color:var(--accent); margin-bottom:20px;
  display:flex; align-items:center; gap:12px;
}
.rg-eyebrow::before{ content:""; width:28px; height:1px; background:var(--accent); }
.rg-display{
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:clamp(44px,7vw,100px); line-height:.92;
  letter-spacing:-.03em; margin:0 0 24px; max-width:900px;
}
.rg-display em{ font-style:italic; color:var(--accent); }
.rg-lede{
  max-width:560px; font-size:clamp(16px,1.3vw,20px);
  line-height:1.65; color:#2b2824; font-weight:300;
  opacity:0; transform:translateY(24px); filter:blur(4px);
  transition:all 1.4s cubic-bezier(.19,1,.22,1) .8s;
}
.rg-hero.is-in .rg-lede{ opacity:1; transform:none; filter:none; }

/* ── WHAT YOU GET CARDS ── */
.rg-benefits{
  padding:clamp(140px,16vh,200px) 0 clamp(60px,8vw,120px);
  border-top:none;
}
.rg-benefits-head{
  display:grid; grid-template-columns:1fr auto;
  align-items:end; gap:24px;
  margin-bottom:clamp(40px,5vw,70px);
}
.rg-seclbl{
  font-size:10px; letter-spacing:.35em; text-transform:uppercase;
  color:var(--muted); margin-bottom:12px;
}
.rg-benefits-head h2{
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:clamp(24px,3.2vw,48px); line-height:1; letter-spacing:-.015em; margin:0;
}
.rg-benefits-head h2 em{ font-style:italic; color:var(--accent); }
.rg-hint{
  font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--muted); align-self:end;
}
.rg-benefits-head h2 .rg-char{
  display:inline-block; opacity:0;
  transform:translateY(20px); filter:blur(4px);
  transition:all 1.4s cubic-bezier(.22,1,.36,1);
}
body:not(.site-loading) .rg-benefits.is-in .rg-benefits-head h2 .rg-char{ opacity:1; transform:none; filter:none; }
.rg-benefits-head h2 em .rg-char{ color:var(--accent); }

.rg-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,28px); }
.rg-card{
  position:relative; color:inherit;
  padding:clamp(36px,4vw,56px) clamp(28px,3vw,40px);
  border:1px solid var(--line); border-radius:3px;
  background:rgba(255,255,255,.3); backdrop-filter:blur(8px);
  display:flex; flex-direction:column; gap:0;
  min-height:clamp(280px,30vw,380px);
  overflow:hidden; transition:all .6s cubic-bezier(.19,1,.22,1);
}
.rg-card:hover{
  border-color:var(--accent); background:rgba(139,111,71,.03);
  box-shadow:0 30px 80px -20px rgba(139,111,71,.12);
  transform:translateY(-6px);
}
.rg-card-num{
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:clamp(52px,6vw,80px); font-weight:300;
  color:rgba(14,14,16,.05); line-height:1; margin-bottom:auto;
  transition:color .5s;
}
.rg-card:hover .rg-card-num{ color:rgba(139,111,71,.1); }
.rg-card-icon{
  width:40px; height:40px; margin-bottom:20px; color:var(--accent); opacity:.6;
  transition:opacity .4s, transform .6s cubic-bezier(.19,1,.22,1);
}
.rg-card:hover .rg-card-icon{ opacity:1; transform:translateY(-4px); }
.rg-card-icon svg{ width:100%; height:100%; }
.rg-card-label{
  font-size:10px; letter-spacing:.35em; text-transform:uppercase;
  color:var(--accent); margin-bottom:10px;
  display:flex; align-items:center; gap:10px;
}
.rg-card-label::before{ content:""; width:18px; height:1px; background:var(--accent); transition:width .4s; }
.rg-card:hover .rg-card-label::before{ width:30px; }
.rg-card h3{
  font-family:'Cormorant Garamond',serif; font-weight:400;
  font-size:clamp(26px,3vw,38px); line-height:1.1; letter-spacing:-.01em;
  margin:0 0 12px; transition:color .4s;
}
.rg-card:hover h3{ color:var(--accent); }
.rg-card-desc{
  font-size:14px; line-height:1.7; color:var(--muted); font-weight:300;
}

/* stagger */
.rg-stagger .rg-card:nth-child(1){ transition-delay:.05s; }
.rg-stagger .rg-card:nth-child(2){ transition-delay:.15s; }
.rg-stagger .rg-card:nth-child(3){ transition-delay:.25s; }
.rg-card{ opacity:0; transform:translateY(40px) scale(.95); transition:all .8s cubic-bezier(.19,1,.22,1); }
body:not(.site-loading) .rg-stagger.is-in .rg-card{ opacity:1; transform:none; }

/* ── FORM SECTION ── */
.rg-form-section{
  border-top:1px solid var(--line);
  padding:clamp(60px,8vw,120px) 0;
}
.rg-form-wrap{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,100px);
  align-items:start;
}
.rg-form-intro{}
.rg-form-eyebrow{
  font-size:10px; letter-spacing:.35em; text-transform:uppercase;
  color:var(--accent); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}
.rg-form-eyebrow::before{ content:""; width:24px; height:1px; background:var(--accent); }
.rg-form-title{
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:clamp(36px,4.5vw,62px); line-height:1; letter-spacing:-.015em;
  margin:0 0 14px;
}
.rg-form-title em{ font-style:italic; color:var(--accent); }
.rg-form-sub{
  font-size:15px; line-height:1.7; color:var(--muted); font-weight:300;
  max-width:480px; margin-bottom:clamp(30px,3vw,44px);
}
.rg-form-note{
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:clamp(18px,1.4vw,22px); color:var(--ink);
  border-left:2px solid var(--accent); padding-left:20px;
  max-width:420px; line-height:1.6;
}

/* Form fields — identical to contact */
.rg-form{ display:flex; flex-direction:column; gap:0; }
.rg-field{
  position:relative; border-bottom:1px solid var(--line);
  padding:clamp(20px,2.2vw,28px) 0 clamp(12px,1.4vw,16px);
}
.rg-field:first-child{ border-top:1px solid var(--line); }
.rg-field label{
  position:absolute; top:50%; left:0;
  transform:translateY(-50%);
  font-size:11px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--muted); pointer-events:none;
  transition:all .4s cubic-bezier(.19,1,.22,1);
  transform-origin:left top;
}
.rg-field.is-focused label,
.rg-field.has-value label{
  top:clamp(6px,0.8vw,10px); transform:translateY(0) scale(.82);
  color:var(--accent); letter-spacing:.4em;
}
.rg-field input,
.rg-field textarea,
.rg-field select{
  width:100%; background:none; border:none; outline:none;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(20px,2vw,28px); font-weight:400;
  color:var(--ink); padding:8px 0 0;
  line-height:1.4; resize:none;
  -webkit-appearance:none; appearance:none;
}
.rg-field input::placeholder,
.rg-field textarea::placeholder{ color:transparent; }
.rg-field textarea{ min-height:100px; }
.rg-field select{
  cursor:pointer;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b6760' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right center;
  background-size:12px;
}
.rg-field::after{
  content:""; position:absolute; bottom:-1px; left:0;
  width:100%; height:1px; background:var(--accent);
  transform:scaleX(0); transform-origin:left;
  transition:transform .6s cubic-bezier(.19,1,.22,1);
}
.rg-field.is-focused::after{ transform:scaleX(1); }

.rg-submit-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:clamp(30px,3.5vw,50px); gap:20px;
}
.rg-submit{
  display:inline-flex; align-items:center; gap:14px;
  padding:18px 40px; border:none; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:11px; font-weight:500;
  letter-spacing:.32em; text-transform:uppercase;
  background:var(--ink); color:var(--paper); border-radius:40px;
  transition:all .5s cubic-bezier(.19,1,.22,1);
  position:relative; overflow:hidden;
}
.rg-submit:hover{ background:var(--accent); transform:translateY(-3px); gap:20px; }
.rg-submit svg{ width:16px; height:16px; transition:transform .4s; }
.rg-submit:hover svg{ transform:translateX(4px); }
.rg-submit-hint{
  font-size:12px; color:var(--muted); font-weight:300;
  font-style:italic; font-family:'Cormorant Garamond',serif;
}

/* Success */
.rg-success{
  text-align:center; padding:clamp(60px,8vw,100px) 40px;
  grid-column:1 / -1;
}
.rg-success-icon{
  width:64px; height:64px; border-radius:50%;
  border:2px solid var(--accent); margin:0 auto 30px;
  display:flex; align-items:center; justify-content:center;
  color:var(--accent);
  animation:rgPop .6s cubic-bezier(.19,1,.22,1);
}
@keyframes rgPop{ 0%{ transform:scale(0); opacity:0; } 100%{ transform:scale(1); opacity:1; } }
.rg-success-icon svg{ width:28px; height:28px; }
.rg-success h3{
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:clamp(30px,4vw,48px); margin:0 0 14px; color:var(--ink);
}
.rg-success h3 em{ font-style:italic; color:var(--accent); }
.rg-success p{ font-size:16px; color:var(--muted); font-weight:300; max-width:400px; margin:0 auto; line-height:1.7; }

/* Error */
.rg-error{
  padding:14px 20px; border:1px solid #c0392b; border-radius:3px;
  background:rgba(192,57,43,.06); color:#c0392b;
  font-size:13px; margin-bottom:24px; text-align:center;
}

/* ── CTA BAND ── */
.rg-cta{
  position:relative;
  padding:clamp(70px,9vw,120px) clamp(30px,5vw,80px);
  margin-top:clamp(80px,10vw,140px);
  margin-bottom:clamp(60px,8vw,100px);
  background:var(--ink); color:var(--paper); border-radius:3px;
  text-align:center;
  box-shadow:0 60px 160px -40px rgba(0,0,0,.5);
}
.rg-cta::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(215,181,132,.55), transparent);
}
.rg-cta h3{
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:clamp(36px,5vw,72px); line-height:1; letter-spacing:-.015em;
  margin:0 0 18px; color:var(--paper);
}
.rg-cta h3 em{ font-style:italic; color:#d7b584; }
.rg-cta p{
  font-size:15px; line-height:1.75; color:rgba(245,241,234,.65); font-weight:300;
  max-width:580px; margin:0 auto 36px;
}
.rg-cta-links{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.rg-cta-link{
  text-decoration:none; padding:16px 28px; border-radius:40px;
  font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  transition:all .45s cubic-bezier(.19,1,.22,1); white-space:nowrap;
}
.rg-cta-link.primary{ background:var(--paper); color:var(--ink); }
.rg-cta-link.primary:hover{ background:#d7b584; color:var(--ink); }
.rg-cta-link.ghost{ border:1px solid rgba(245,241,234,.3); color:var(--paper); }
.rg-cta-link.ghost:hover{ border-color:var(--paper); background:rgba(245,241,234,.08); }

/* ── FOOTER ── */
.rg-foot{
  padding:30px 0; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px;
  font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--muted);
  margin-bottom:40px;
}
.rg-foot a{ color:var(--muted); text-decoration:none; margin-left:28px; transition:color .3s; }
.rg-foot a:hover{ color:var(--ink); }

/* ── REVEAL ── */
.rg-reveal{
  opacity:0; transform:translateY(40px) scale(.97); filter:blur(4px);
  transition:opacity 1.2s cubic-bezier(.19,1,.22,1),
             transform 1.4s cubic-bezier(.19,1,.22,1),
             filter 1s cubic-bezier(.19,1,.22,1);
}
body:not(.site-loading) .rg-reveal.is-in{ opacity:1; transform:none; filter:none; }

/* ── RESPONSIVE ── */
@media (max-width:960px){
  .rg-cards{ grid-template-columns:1fr; }
  .rg-form-wrap{ grid-template-columns:1fr; }
  .rg-benefits-head{ grid-template-columns:1fr; }
  .rg-benefits-head .rg-hint{ display:none; }
}
@media (max-width:600px){
  .rg-hero{ min-height:50vh; }
  .rg-display{ font-size:clamp(40px,14vw,70px); }
  .rg-submit-row{ flex-direction:column; align-items:flex-start; }
}
