/* =========================================================
   HAUS OF NAILS BY RITU — inner-page styles
   Loaded on every page EXCEPT the front page. Builds on style.css.

   Same language as the homepage: hairline borders, 2px corners, no drop
   shadows, gold for accents, mauve-grey for supporting copy.
   ========================================================= */

/* Alternating section background */
.bg-alt{background:rgba(251,241,236,.72)}

/* Section head helper */
.sec-head{max-width:640px;margin-bottom:8px}
.sec-head.center{margin-inline:auto;text-align:center}

/* Card surface shared by every inner-page panel */
.aside-card,.statline,.step-card,.svc-card,.rel-card,.faq-item,.post-card,.author-card,.pn-link{
  background:rgba(255,253,249,.7);border:1px solid var(--line);border-radius:2px}

/* =========================================================
   PAGE HERO (inner pages, blog, archives)
   ========================================================= */
.page-hero{position:relative;overflow:hidden;padding:clamp(36px,6vw,72px) 0 clamp(28px,4vw,44px)}
.page-hero.tall{padding-bottom:clamp(36px,5vw,60px)}
.page-hero-inner{position:relative;z-index:1;max-width:760px}
.crumbs{font-size:11.5px;letter-spacing:.06em;color:var(--muted);font-weight:600;margin-bottom:14px}
.crumbs a{color:var(--wine)}
.crumbs a:hover{color:var(--bordeaux)}
.crumbs .sep{margin:0 8px;color:var(--mauve)}
.page-hero h1{font-family:var(--display);font-optical-sizing:auto;font-weight:500;
  font-size:clamp(34px,5.2vw,58px);line-height:1.04;letter-spacing:-1px;color:var(--bordeaux);text-wrap:balance}
.page-hero h1 em{font-style:italic;color:var(--wine)}
.page-hero .lead{font-size:14.5px;line-height:1.6;color:var(--wine);max-width:56ch;margin-top:16px}

/* Hero split with a form (service detail) */
.ph-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,44px);align-items:start}
@media(max-width:920px){.ph-grid{grid-template-columns:1fr;gap:30px}}
.keypts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.keypts li{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;color:var(--ink);font-weight:500}
.ck{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--bordeaux);display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.ck svg{width:11px;height:11px;fill:none;stroke:var(--cream);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* =========================================================
   STAT LINE (service detail)
   ========================================================= */
.statline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 auto;position:relative;z-index:2;
  padding:24px;max-width:820px}
@media(max-width:560px){.statline{grid-template-columns:1fr;gap:10px;text-align:center}}
.statline .s{text-align:center}
.statline .v{font-family:var(--display);font-weight:500;font-size:24px;color:var(--bordeaux);line-height:1}
.statline .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:7px}

/* =========================================================
   SPLIT (overview + aside)
   ========================================================= */
.split{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,44px);align-items:start}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:28px}}
.aside-card{padding:26px;position:sticky;top:88px}
@media(max-width:900px){.aside-card{position:static}}
.aside-card h4{font-family:var(--display);font-weight:500;font-size:19px;color:var(--bordeaux);margin-bottom:16px}
.mini-list{display:flex;flex-direction:column;gap:2px}
.mini-list .row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.mini-list .row:last-child{border-bottom:none}
.mini-list .k{font-size:12.5px;color:var(--muted);font-weight:600}
.mini-list .v{font-size:13px;color:var(--bordeaux);font-weight:700}

.check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.check-list li{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;color:var(--ink)}

/* =========================================================
   PROSE (page + article body)
   ========================================================= */
.prose{max-width:72ch;color:var(--body);font-size:15px;line-height:1.7}
.prose p{margin:0 0 1.1em}
.prose h2{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.8vw,28px);color:var(--bordeaux);margin:1.6em 0 .5em;line-height:1.15;letter-spacing:-.3px}
.prose h3{font-family:var(--display);font-weight:500;font-size:20px;color:var(--bordeaux);margin:1.4em 0 .5em}
.prose a{color:var(--wine);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{margin:0 0 1.1em 1.2em;padding:0}
.prose li{margin-bottom:.5em}
.prose blockquote{border-left:1px solid rgba(176,138,79,.55);padding:4px 0 4px 20px;margin:1.4em 0;
  font-family:var(--display);font-style:italic;color:var(--bordeaux)}
.prose img{border-radius:2px;margin:1.2em 0}
.prose .page-links{margin-top:1.4em;font-weight:600}

/* =========================================================
   HOW-IT-WORKS STEP CARDS (service detail)
   ========================================================= */
.steps{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step-card{display:flex;gap:18px;padding:24px}
.step-card .n{font-family:var(--display);font-weight:500;font-size:30px;color:var(--blush);line-height:.9;flex-shrink:0}
.step-card h3{font-family:var(--display);font-weight:500;font-size:19px;color:var(--bordeaux);margin-bottom:6px}
.step-card p{font-size:12.5px;line-height:1.6;color:var(--muted)}

/* =========================================================
   SERVICES OVERVIEW GRID (service cards)
   ========================================================= */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
@media(max-width:860px){.svc-grid{grid-template-columns:1fr 1fr;gap:14px}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr}}
.svc-card{display:flex;flex-direction:column;overflow:hidden}
.svc-ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:#efe2dc}
.svc-ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
@media(hover:hover){.svc-card:hover .svc-ph img{transform:scale(1.05)}}
.svc-ph .num{position:absolute;top:12px;left:12px;background:rgba(253,246,229,.92);color:var(--gold);
  font-family:var(--display);font-weight:600;font-size:11.5px;width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(176,138,79,.55);display:flex;align-items:center;justify-content:center}
.svc-b{padding:22px;display:flex;flex-direction:column;flex:1}
.svc-b .k{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:6px}
.svc-b h3{font-family:var(--display);font-weight:500;font-size:21px;color:var(--bordeaux);margin-bottom:8px}
.svc-b p{font-size:12.5px;line-height:1.6;color:var(--muted);flex:1}
.svc-b .more{margin-top:14px;font-weight:700;font-size:12.5px;color:var(--wine)}

/* =========================================================
   RELATED CARDS
   ========================================================= */
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
@media(max-width:820px){.rel-grid{grid-template-columns:1fr}}
.rel-card{padding:26px}
.rel-card .num{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.rel-card h3{font-family:var(--display);font-weight:500;font-size:20px;color:var(--bordeaux);margin:10px 0 8px}
.rel-card p{font-size:12.5px;line-height:1.6;color:var(--muted)}

/* =========================================================
   CONTACT
   ========================================================= */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,44px);align-items:start}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:30px}}
.contact-info h3{font-family:var(--display);font-weight:500;font-size:24px;color:var(--bordeaux);margin-bottom:18px;letter-spacing:-.3px}
.ci{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.ci:last-child{border-bottom:none}
.ci .ico{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(176,138,79,.55);
  display:flex;align-items:center;justify-content:center}
.ci .ico svg{width:19px;height:19px;fill:none;stroke:var(--gold);stroke-width:1.8}
.ci .lab{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:4px}
.ci .val{font-size:14px;color:var(--ink);font-weight:600}
a.val:hover{color:var(--wine)}
.map-embed{margin-top:32px;border-radius:2px;overflow:hidden;border:1px solid var(--line);line-height:0}
.map-embed iframe{width:100%;height:420px;display:block;border:0}
@media(max-width:560px){.map-embed iframe{height:300px}}

/* =========================================================
   FAQ ACCORDION
   ========================================================= */
.faq-list{max-width:820px;margin:32px auto 0;display:flex;flex-direction:column;gap:10px}
.faq-item{overflow:hidden}
.faq-q{width:100%;text-align:left;background:transparent;border:none;cursor:pointer;font-family:var(--sans);
  font-weight:600;font-size:14.5px;color:var(--bordeaux);
  padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q .ic{position:relative;flex-shrink:0;width:16px;height:16px}
.faq-q .ic::before,.faq-q .ic::after{content:"";position:absolute;background:var(--gold);border-radius:2px;transition:transform .3s var(--ease)}
.faq-q .ic::before{top:7px;left:0;width:16px;height:2px}
.faq-q .ic::after{top:0;left:7px;width:2px;height:16px}
.faq-item.open .faq-q .ic::after{transform:scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-a p{padding:0 20px 18px;font-size:13px;line-height:1.6;color:var(--muted);margin:0}

/* =========================================================
   BLOG — LISTING GRID
   ========================================================= */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.post-grid{grid-template-columns:1fr 1fr;gap:14px}}
@media(max-width:620px){.post-grid{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;overflow:hidden}
.pc-thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:#efe2dc}
.pc-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
@media(hover:hover){.post-card:hover .pc-thumb img{transform:scale(1.05)}}
.pc-body{padding:22px;display:flex;flex-direction:column;flex:1}
.pc-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:12px}
.pc-cat{color:var(--gold);text-transform:uppercase;letter-spacing:.16em}
.pm-dot{width:4px;height:4px;border-radius:50%;background:var(--mauve)}
.pc-body h3{font-family:var(--display);font-weight:500;font-size:20px;color:var(--bordeaux);line-height:1.2;margin-bottom:10px}
.pc-body h3 a:hover{color:var(--wine)}
.pc-body p{font-size:12.5px;line-height:1.6;color:var(--muted);flex:1}
.pc-body .more{margin-top:16px;font-weight:700;font-size:12.5px;color:var(--wine)}

/* Pagination */
.hon-pagination .nav-links,.hon-pagination .page-numbers{display:flex}
.hon-pagination .page-numbers{list-style:none;gap:8px;flex-wrap:wrap;padding:0;justify-content:center}
.hon-pagination .page-numbers li a,.hon-pagination .page-numbers li span{display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,253,249,.7);color:var(--bordeaux);font-weight:600;font-size:13.5px}
.hon-pagination .page-numbers li .current{background:var(--bordeaux);color:var(--cream);border-color:var(--bordeaux)}

/* =========================================================
   BLOG — SINGLE POST
   ========================================================= */
.post-hero .eyebrow{margin-bottom:6px}
.post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:12px;color:var(--muted);font-weight:600}
.post-meta .pm-item{display:inline-flex;align-items:center;gap:7px}
.post-meta svg{width:15px;height:15px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.post-cover{margin:0 auto;position:relative;z-index:2;max-width:960px;border-radius:2px;overflow:hidden;background:#efe2dc}
.post-cover img{width:100%;height:auto;display:block}
.post-body-section{padding-top:clamp(32px,4vw,52px)}
.article{max-width:760px;margin:0 auto}
.article-body{max-width:none}
.post-tags{margin-top:32px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pt-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}
.post-tags a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--wine)}
.post-tags a:hover{background:var(--bordeaux);color:var(--cream);border-color:var(--bordeaux)}
.author-card{margin-top:32px;display:flex;gap:18px;align-items:flex-start;padding:24px}
.author-ava{width:58px;height:58px;border-radius:50%;flex-shrink:0}
.ac-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}
.author-card h3{font-family:var(--display);font-weight:500;font-size:19px;color:var(--bordeaux);margin:4px 0 6px}
.author-card p{font-size:12.5px;line-height:1.6;color:var(--muted)}
.post-nav{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.post-nav{grid-template-columns:1fr}}
.pn-link{padding:18px 20px;display:flex;flex-direction:column;gap:6px;transition:border-color .25s var(--ease)}
.pn-link.next{text-align:right}
@media(hover:hover){.pn-link:hover{border-color:rgba(176,138,79,.55)}}
.pn-dir{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.pn-title{font-family:var(--display);font-weight:500;font-size:16px;color:var(--bordeaux)}

/* Article hero form column (single) — form styled by style.css */
.ph-form{position:relative;z-index:1}
