/* ReStructure AI - home.css (supplemental, index.html only) */

/* CONTAINER */
.container{
  max-width:1200px;
  margin:0 auto;
  padding:0 32px;
}

/* BUTTONS (home aliases) */
.btn{
  display:inline-flex;align-items:center;
  min-height:44px;
  border-radius:8px;
  font-size:.9375rem;
  font-weight:600;
  text-decoration:none;
  padding:11px 24px;
  border:none;
  cursor:pointer;
  transition:background 160ms ease,border-color 160ms ease,color 160ms ease;
}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-dk);text-decoration:none;}
.btn-ghost{
  background:transparent;
  color:var(--ink);
  border:1px solid var(--border);
}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);text-decoration:none;}
.mt-lg{margin-top:32px;}

/* HERO SECTION */
.hero-section{
  padding-top:calc(var(--nav-h) + 72px);
  padding-bottom:96px;
}
.hero-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.hero-label{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink3);
  margin-bottom:18px;
}
.hero-h1{
  font-size:clamp(2.2rem,4.5vw,3.6rem);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.08;
  color:var(--ink);
  margin-bottom:20px;
}
.hero-sub{
  font-size:1.0625rem;
  color:var(--ink2);
  line-height:1.65;
  max-width:400px;
  margin-bottom:32px;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}

/* HERO COLLAGE */
.hero-collage{
  position:relative;
  height:460px;
}
.collage-photo{
  position:absolute;
  inset:0;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow-lg);
}
.collage-photo img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top;
}
.photo-caption{
  position:absolute;
  bottom:8px;left:10px;
  font-size:.65rem;
  color:rgba(255,255,255,.82);
  background:rgba(0,0,0,.38);
  padding:2px 8px;
  border-radius:4px;
  font-style:italic;
}

/* COLLAGE UI CARDS */
.collage-card{
  position:absolute;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:0 6px 24px rgba(0,0,0,.12);
  padding:12px 14px;
  font-size:.75rem;
  color:var(--ink);
  min-width:160px;
  backdrop-filter:blur(6px);
}
.card-plan{
  bottom:-18px;
  left:-18px;
}
.card-model{
  top:-18px;
  right:-12px;
}
.ccard-label{
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink3);
  margin-bottom:8px;
}
.ccard-steps{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:8px;
}
.cstep{
  font-size:.75rem;
  color:var(--ink3);
  padding:4px 8px;
  border-radius:5px;
  background:var(--bg2);
}
.cstep.done{
  color:var(--sage,#436a57);
  background:#edf3ef;
  font-weight:600;
}
.cstep.active{
  color:var(--accent);
  background:#eeeeff;
  font-weight:600;
}
.ccard-status{
  font-size:.7rem;
  font-weight:700;
  color:#c07a20;
  background:#fff7eb;
  border-radius:4px;
  padding:3px 8px;
  display:inline-block;
}
.ccard-model-pill{
  font-size:.73rem;
  font-weight:600;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:20px;
  padding:4px 10px;
  margin-bottom:5px;
  color:var(--ink2);
}
.ccard-model-pill.muted{color:var(--ink3);}

/* PATHS SECTION */
.paths-section{
  background:var(--bg2);
  padding:80px 0;
}
.paths-section .section-h2{margin-bottom:10px;}
.paths-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:36px;
}
.path-card{
  display:flex;flex-direction:column;gap:12px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px 28px 24px;
  background:#fff;
  box-shadow:var(--shadow);
  text-decoration:none;color:inherit;
  transition:box-shadow 160ms ease,border-color 160ms ease;
}
.path-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);text-decoration:none;}
.path-icon{font-size:1.4rem;line-height:1;}
.path-card h3{font-size:1.125rem;font-weight:700;letter-spacing:-.015em;color:var(--ink);}
.path-card p{font-size:.875rem;color:var(--ink2);line-height:1.6;margin:0;}
.path-cta{font-size:.82rem;font-weight:600;color:var(--accent);margin-top:auto;}

/* SECTION HEADINGS (home-scoped variants) */
.section-h2{
  font-size:clamp(1.6rem,3.5vw,2.4rem);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.15;
  color:var(--ink);
  margin-bottom:12px;
}
.section-h2.tight{line-height:1.1;}
.section-label{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:12px;
}
.section-sub{
  font-size:1rem;
  color:var(--ink2);
  line-height:1.65;
  max-width:500px;
  margin-bottom:0;
}

/* WORKSPACE TEASER */
.workspace-teaser{padding:96px 0;}
.wt-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.wt-copy{display:flex;flex-direction:column;gap:16px;}
.wt-copy .btn{align-self:flex-start;margin-top:8px;}
.wt-visual{}
.wt-shell{
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  background:#fff;
}
.wt-bar{
  display:flex;gap:6px;align-items:center;
  padding:10px 14px;
  background:var(--bg2);
  border-bottom:1px solid var(--border);
}
.wt-dot{
  width:10px;height:10px;
  border-radius:50%;
  background:var(--border);
}
.wt-composer{
  padding:16px;
  border-bottom:1px solid var(--border);
}
.wt-prompt-row{
  display:flex;align-items:center;gap:10px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:8px;
  padding:10px 14px;
}
.wt-prompt-text{
  flex:1;font-size:.82rem;color:var(--ink3);font-style:italic;
}
.wt-send{
  font-weight:700;color:var(--accent);font-size:.9rem;
}
.wt-plan-rows{
  padding:12px 16px;display:flex;flex-direction:column;gap:0;
}
.wt-prow{
  display:flex;align-items:center;gap:10px;
  font-size:.8rem;
  color:var(--ink2);
  padding:11px 0;
  border-bottom:1px solid var(--bg3);
}
.wt-prow:last-child{border-bottom:none;}
.wt-prow.done{color:var(--sage,#436a57);font-weight:600;}
.wt-prow.active{color:var(--accent);font-weight:600;}
.wt-prow.pending{color:var(--ink3);}
.wt-check{color:var(--sage,#436a57);font-weight:700;}
.wt-pulse{
  display:inline-block;width:8px;height:8px;
  border-radius:50%;background:var(--accent);
  animation:pulse 1.4s infinite;
}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* REVIEW SECTION */
.review-section{
  background:var(--bg2);
  padding:96px 0;
}
.review-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.review-photo{
  border-radius:14px;overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow-lg);
  position:relative;
  aspect-ratio:4/3;
}
.review-photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
}
.review-photo .photo-caption{
  position:absolute;bottom:8px;left:10px;
  font-size:.65rem;color:rgba(255,255,255,.82);
  background:rgba(0,0,0,.38);
  padding:2px 8px;border-radius:4px;font-style:italic;
}
.review-copy{display:flex;flex-direction:column;gap:16px;}
.review-list{
  list-style:none;
  display:flex;flex-direction:column;gap:10px;
  margin-top:4px;
}
.review-list li{
  font-size:.875rem;
  color:var(--ink2);
  line-height:1.55;
  padding-left:20px;
  position:relative;
}
.review-list li::before{
  content:'-';
  position:absolute;left:0;
  color:var(--accent);font-weight:700;
}

/* TOOLKIT SECTION */
.toolkit-section{padding:96px 0;}
.toolkit-groups{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  margin-top:36px;
}
.tgroup{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px 20px 16px;
  background:#fff;
  box-shadow:var(--shadow);
}
.tgroup-label{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink3);
  margin-bottom:12px;
}
.tgroup-chips{
  display:flex;flex-wrap:wrap;gap:7px;
}
.tgroup-chips span{
  font-size:.75rem;font-weight:500;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:20px;
  padding:4px 11px;
  color:var(--ink2);
}

/* CLOSING SECTION */
.closing-section{
  background:var(--bg2);
  border-top:1px solid var(--border);
  padding:96px 0;
}
.closing-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.closing-copy{display:flex;flex-direction:column;gap:16px;}
.closing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;}
.closing-photo{
  border-radius:14px;overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow-lg);
  position:relative;
  aspect-ratio:4/3;
}
.closing-photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
}
.closing-photo .photo-caption{
  position:absolute;bottom:8px;left:10px;
  font-size:.65rem;color:rgba(255,255,255,.82);
  background:rgba(0,0,0,.38);
  padding:2px 8px;border-radius:4px;font-style:italic;
}

/* RESPONSIVE - 900px */
@media(max-width:900px){
  .container{padding:0 20px;}
  .hero-section{padding-top:calc(var(--nav-h) + 48px);padding-bottom:64px;}
  .hero-inner{grid-template-columns:1fr;gap:40px;}
  .hero-sub{max-width:100%;}
  .hero-collage{height:300px;}
  .card-plan{bottom:-12px;left:-4px;}
  .card-model{top:-12px;right:0;}
  .paths-section,.workspace-teaser,.review-section,.toolkit-section,.closing-section{padding:64px 0;}
  .paths-grid{grid-template-columns:1fr;}
  .wt-inner{grid-template-columns:1fr;gap:36px;}
  .review-inner{grid-template-columns:1fr;gap:36px;}
  .review-photo{order:-1;}
  .toolkit-groups{grid-template-columns:1fr;}
  .closing-inner{grid-template-columns:1fr;gap:36px;}
  .closing-photo{order:-1;}
}

/* RESPONSIVE - 600px */
@media(max-width:600px){
  .hero-h1{letter-spacing:-.025em;}
  .hero-collage{height:240px;}
  .card-model{display:none;}
  .card-plan{left:4px;bottom:4px;}
  .section-h2{font-size:1.5rem;}
  .toolkit-groups{grid-template-columns:1fr;}
  .wt-prompt-text{font-size:.75rem;}
  .wt-prow{font-size:.75rem;}
  body{padding-bottom:88px;}
}

/* RESPONSIVE - 320px */
@media(max-width:360px){
  .hero-actions{flex-direction:column;align-items:flex-start;}
  .btn{width:100%;justify-content:center;}
  .closing-actions{flex-direction:column;align-items:stretch}
}

@media(max-width:600px){.hero-label{font-size:12px;line-height:1.5;letter-spacing:.1em;max-width:100%}.hero-section{padding-top:104px}.hero-h1{font-weight:600}.hero-sub{font-size:17px}}
