/* INVICTA House: For writers page. Uses the house tokens from house.css. */

/* Hero */
.w-hero{background:radial-gradient(120% 140% at 100% 0,var(--ivory-2) 0,var(--ivory) 55%);border-bottom:1px solid var(--hair)}
.w-hero-in{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-top:clamp(3.2rem,8vw,6rem);padding-bottom:clamp(2.8rem,7vw,5rem)}
.w-eyebrow{font:700 .78rem/1.3 "Cinzel",serif;letter-spacing:.2em;text-transform:uppercase;color:var(--maroon-2);margin:0 0 1rem;padding-left:.9rem;border-left:3px solid var(--marigold)}
.w-hero h1{font:500 clamp(2.4rem,5.6vw,4.2rem)/1.04 "Cormorant Garamond",serif;letter-spacing:-.01em;color:var(--maroon);margin:0 0 1.1rem;max-width:18ch}
.w-lede{font-size:1.32rem;line-height:1.5;margin:0 0 1.6rem;max-width:36rem}
.w-cta{display:flex;flex-wrap:wrap;gap:.7rem}

.w-promises{list-style:none;margin:0;padding:1.4rem 1.5rem;background:var(--maroon);color:var(--ivory);border-top:4px solid var(--marigold);border-radius:2px;
  box-shadow:0 1.4rem 2.6rem -1.2rem rgba(43,21,24,.5);display:grid;gap:.15rem}
.w-promises li{padding:.7rem 0;border-bottom:1px solid rgba(246,240,227,.18);font-size:1.15rem;line-height:1.3}
.w-promises li:last-child{border-bottom:0}
.w-promises .k{display:block;font:700 .74rem/1.2 "Cinzel",serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}

/* Services */
.w-intro{font-size:1.25rem;margin:-1rem 0 2.2rem;max-width:40rem;color:var(--maroon-ink)}
.w-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,30rem),1fr));gap:1.6rem}
.w-group{background:#FBF7EE;border:1px solid var(--hair);border-top:3px solid var(--marigold);border-radius:0 0 2px 2px;padding:1.6rem 1.6rem 1.4rem;
  box-shadow:0 .6rem 1.4rem -1rem rgba(43,21,24,.35);transition:transform .25s ease,box-shadow .25s ease}
.w-group:hover{transform:translateY(-3px);box-shadow:0 1.2rem 2rem -1.2rem rgba(43,21,24,.45)}
.w-step{font:900 .85rem/1 "Cinzel",serif;letter-spacing:.2em;color:var(--marigold);margin:0 0 .4rem}
.w-group h3{font:600 1.6rem/1.15 "Cormorant Garamond",serif;color:var(--maroon);margin:0 0 .9rem}
.w-list{list-style:none;margin:0;padding:0}
.w-list li{position:relative;padding:.45rem 0 .45rem 1.3rem;font-size:1.12rem;line-height:1.45;border-top:1px dashed var(--hair)}
.w-list li:first-child{border-top:0}
.w-list li::before{content:"";position:absolute;left:0;top:1rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--marigold);box-shadow:0 0 0 1px var(--maroon)}
.w-list strong{color:var(--maroon-ink);font-weight:600}

/* Proof band */
.w-band{background:var(--night);color:#F4EEDF;border-top:4px solid var(--gold);border-bottom:4px solid var(--gold);padding:clamp(2.8rem,7vw,4.4rem) 0}
.w-band-in{max-width:48rem;text-align:center}
.w-band h2{font:500 italic clamp(1.8rem,3.8vw,2.6rem)/1.15 "Cormorant Garamond",serif;color:var(--gold);margin:0 0 1rem}
.w-band p{font-size:1.2rem;line-height:1.55;margin:0 auto 1.5rem;max-width:42rem}
.w-band .ih-btn{border-color:var(--gold);color:var(--gold)}

/* How it works */
.w-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1.4rem;counter-reset:s}
.w-steps li{counter-increment:s;position:relative;padding:3.4rem 1.2rem 1.2rem;border-top:1px solid var(--hair)}
.w-steps li::before{content:counter(s);position:absolute;top:.9rem;left:1.2rem;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;
  background:var(--maroon);color:var(--ivory);font:700 .95rem/1 "Cinzel",serif;box-shadow:0 0 0 3px var(--ivory),0 0 0 4px var(--marigold)}
.w-steps h3{font:600 1.35rem/1.2 "Cormorant Garamond",serif;color:var(--maroon);margin:0 0 .4rem}
.w-steps p{margin:0;font-size:1.1rem;line-height:1.5}

/* FAQ */
.w-faq{max-width:46rem;display:grid;gap:.7rem}
.w-faq details{background:var(--ivory);border:1px solid var(--hair);border-left:3px solid var(--marigold);border-radius:2px;padding:0 1.2rem}
.w-faq summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font:600 1.2rem/1.3 "Cormorant Garamond",serif;color:var(--maroon)}
.w-faq summary::-webkit-details-marker{display:none}
.w-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font:600 1.5rem/1 "Cormorant Garamond",serif;color:var(--maroon-2);transition:transform .2s ease}
.w-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.w-faq summary:focus-visible{outline:2px solid var(--maroon);outline-offset:3px}
.w-faq details p{margin:0 0 1rem;font-size:1.12rem}
.w-soon{margin:1.8rem 0 0;font-size:1.1rem;color:var(--taupe);max-width:46rem}
.w-soon strong{color:var(--maroon)}

/* Closing call */
.w-close{background:var(--maroon);color:var(--ivory);padding:clamp(3rem,8vw,5rem) 0}
.w-close-in{text-align:center;max-width:40rem}
.w-close img{width:5.5rem;height:auto;display:block;margin:0 auto 1rem;border-radius:50%;box-shadow:0 0 0 1px rgba(246,240,227,.5)}
.w-close h2{font:500 clamp(2rem,4.4vw,3rem)/1.1 "Cormorant Garamond",serif;margin:0 0 .6rem;color:var(--ivory)}
.w-close p{margin:0 0 1.2rem;font-size:1.22rem}
.w-close .ih-btn.solid{background:var(--marigold);border-color:var(--marigold);color:var(--maroon-ink);font-size:1.15rem;padding:.7rem 1.5rem}
.w-close .ih-btn:focus-visible{outline-color:var(--ivory)}

/* Home page teaser */
.ih-writers .w-mini{list-style:none;margin:1.4rem auto 1.6rem;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.ih-writers .w-mini li{border:1px solid var(--hair);background:#FBF7EE;border-radius:999px;padding:.3rem .9rem;font-size:1.02rem}

@media (max-width:760px){
  .w-hero-in{grid-template-columns:1fr}
  .w-hero h1{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .w-group,.w-faq summary::after{transition:none}
  .w-group:hover{transform:none}
}
