/* Rug Academy design layer — synthesis of Option B (base) + C (selvedge, knot mark, knot rows)
   + A (figure captions, numbered start-here, reference desk, colophon).
   Owner pick, 2026-07-27. Palette and type are Option B's; the woven motifs are Option C's. */

:root{
  --ra-plaster:#FAF5ED;
  --ra-linen:#F2E7D8;
  --ra-wool:#EADCC8;
  --ra-hair:#E0CFB7;
  --ra-ink:#2A1F19;
  --ra-fawn:#5C4C41;
  --ra-dust:#8A7666;
  --ra-madder:#A8402C;
  --ra-madder-deep:#8E3423;
  --ra-indigo:#2F4A58;
  --ra-saffron:#C08A33;
  --ra-walnut:#1E1611;
  --ra-card:#FCFAF6;
  --ra-display:"Fraunces",Georgia,serif;
  --ra-text:"Karla",system-ui,sans-serif;
  --ra-mono:"DM Mono",ui-monospace,monospace;
}

/* ---------- base ---------- */
body{background:var(--ra-plaster);color:var(--ra-ink);font-family:var(--ra-text);
     font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;}
body h1,body h2,body h3,body h4,body .entry-title{
  font-family:var(--ra-display);font-weight:600;letter-spacing:-.02em;line-height:1.15;}
a{color:var(--ra-madder);}
a:hover{color:var(--ra-madder-deep);}

/* ---------- C graft: the selvedge stripe (finished edge of a rug) ---------- */
.ra-selvedge{height:7px;width:100%;
  background:repeating-linear-gradient(90deg,
    var(--ra-madder) 0 14px, var(--ra-indigo) 14px 28px,
    var(--ra-saffron) 28px 34px, var(--ra-walnut) 34px 48px);}

/* ---------- header ---------- */
.site-header{background:var(--ra-card);border-bottom:1px solid var(--ra-hair);}
.site-header .main-title{font-family:var(--ra-display);font-weight:600;letter-spacing:-.03em;}
.site-header .main-title a{color:var(--ra-ink);}
/* C graft: knot-diamond mark set beside the wordmark */
.site-header .site-branding{display:flex;align-items:center;gap:14px;}
.site-header .site-branding::before{
  content:"";flex:0 0 auto;width:38px;height:38px;background-repeat:no-repeat;
  background-size:contain;background-position:center;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 9' shape-rendering='crispEdges'%3E%3Cpolygon points='4,0 5,0 5,1 6,1 6,2 7,2 7,3 8,3 8,4 9,4 9,5 8,5 8,6 7,6 7,7 6,7 6,8 5,8 5,9 4,9 4,8 3,8 3,7 2,7 2,6 1,6 1,5 0,5 0,4 1,4 1,3 2,3 2,2 3,2 3,1 4,1' fill='%23A8402C'/%3E%3Cpolygon points='4,3 5,3 5,4 6,4 6,5 5,5 5,6 4,6 4,5 3,5 3,4 4,4' fill='%232F4A58'/%3E%3C/svg%3E");}
.site-description{font-family:var(--ra-mono);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ra-dust);}
.main-navigation{background:var(--ra-card);border-bottom:1px solid var(--ra-hair);}
.main-navigation .main-nav ul li a{font-family:var(--ra-text);font-weight:500;
  font-size:.97rem;color:var(--ra-fawn);}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a{
  color:var(--ra-madder);background:transparent;}
.main-navigation .main-nav ul li.current-menu-item > a{box-shadow:inset 0 -3px 0 var(--ra-madder);}
.main-navigation ul ul{background:var(--ra-card);border:1px solid var(--ra-hair);}

/* ---------- shared primitives ---------- */
.ra-wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
.ra-mono{font-family:var(--ra-mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;line-height:1;}

/* B's signature: the measure line */
.ra-measure{position:relative;display:flex;align-items:center;gap:10px;}
.ra-measure .r{position:relative;flex:1;height:1px;background:var(--ra-madder);}
.ra-measure .r::before,.ra-measure .r::after{content:"";position:absolute;top:-4px;
  width:1px;height:9px;background:var(--ra-madder);}
.ra-measure .r::before{left:0;}
.ra-measure .r::after{right:0;}
.ra-measure .t{color:var(--ra-madder);white-space:nowrap;}
.ra-divider{margin:0 0 12px;max-width:210px;}

/* C's knot row: a quantity you can literally count */
.ra-knots{display:block;height:7px;width:calc(var(--n) * 6px);max-width:100%;
  background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 6px);}

/* A's figure caption */
.ra-cap{font-family:var(--ra-mono);font-size:.68rem;letter-spacing:.06em;color:var(--ra-dust);
  margin-top:9px;line-height:1.5;}

/* ---------- front page: the shortcode sections ARE the page ----------
   GeneratePress wraps page content in a max-width container with "separate containers"
   padding and a white card background, and prints the page title above it. On the front
   page that produced (a) a second <h1> "Rug Academy" duplicating the hero's, and (b) a
   large dead margin around every band so nothing could sit flush or full-bleed.
   Stripping the article chrome here is cleaner than a 100vw breakout hack, which risks
   horizontal overflow against the scrollbar. */
.home .entry-header{display:none;}
.home .site-content > .container,
.home .site-content .grid-container{max-width:none;width:100%;padding-left:0;padding-right:0;}
.home .content-area,
.home .site-main{width:100%;max-width:none;margin:0;padding:0;}
.home .separate-containers .site-main > article,
.home .site-main > article{margin:0;padding:0;border:0;box-shadow:none;background:transparent;}
.home .inside-article{padding:0;background:transparent;box-shadow:none;}
.home .entry-content{margin:0;}
.home .entry-content > *:first-child{margin-top:0;}
.home .site-content{padding:0;}

/* ---------- hero ---------- */
.ra-hero{position:relative;background:var(--ra-wool);}
.ra-hero__media{position:relative;height:70vh;min-height:460px;max-height:720px;overflow:hidden;}
.ra-hero__media img{width:100%;height:100%;object-fit:cover;display:block;}
.ra-hero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(30,22,17,.50) 0%,rgba(30,22,17,.18) 46%,rgba(30,22,17,0) 72%);}
.ra-hero__measure{position:absolute;left:46%;right:9%;bottom:15%;z-index:3;
  display:flex;align-items:center;gap:12px;}
.ra-hero__measure .r{position:relative;flex:1;height:1px;background:#F6D8CF;
  box-shadow:0 1px 4px rgba(30,22,17,.5);}
.ra-hero__measure .r::before,.ra-hero__measure .r::after{content:"";position:absolute;top:-6px;
  width:1px;height:13px;background:#F6D8CF;}
.ra-hero__measure .r::before{left:0;}
.ra-hero__measure .r::after{right:0;}
.ra-hero__measure .t{color:#FAF5ED;text-shadow:0 1px 6px rgba(30,22,17,.7);}
.ra-hero__panel{position:relative;z-index:5;max-width:548px;margin-top:-126px;
  background:var(--ra-card);border:1px solid var(--ra-hair);border-top:3px solid var(--ra-madder);
  padding:26px 30px 26px;box-shadow:0 20px 50px -28px rgba(42,31,25,.5);}
.ra-hero__panel .eyebrow{color:var(--ra-madder);display:block;margin-bottom:10px;}
.ra-hero__panel h1{font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.08;letter-spacing:-.02em;margin:0;}
.ra-hero__panel .dek{font-size:.97rem;line-height:1.5;color:var(--ra-fawn);margin:11px 0 0;max-width:48ch;}
.ra-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px;}
.ra-btn{display:inline-block;padding:10px 18px;font-weight:700;font-size:.89rem;
  background:var(--ra-madder);color:var(--ra-plaster);border:1px solid var(--ra-madder);
  text-decoration:none;}
.ra-btn:hover{background:var(--ra-madder-deep);border-color:var(--ra-madder-deep);color:var(--ra-plaster);}
.ra-btn--ghost{background:transparent;color:var(--ra-ink);border-color:var(--ra-hair);}
.ra-btn--ghost:hover{background:var(--ra-linen);border-color:var(--ra-ink);color:var(--ra-ink);}

/* ---------- size chips ---------- */
.ra-sizes{background:var(--ra-linen);border-top:1px solid var(--ra-hair);
  border-bottom:1px solid var(--ra-hair);margin-top:26px;padding:24px 0 26px;}
.ra-sizes__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:14px;}
.ra-sizes__head h2{font-size:1.4rem;margin:0;}
.ra-sizes__head .note{color:var(--ra-fawn);font-size:.97rem;margin:0;}
.ra-chips{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.ra-chip{background:var(--ra-card);border:1px solid var(--ra-hair);padding:13px 14px 12px;
  display:block;text-decoration:none;transition:.15s;}
.ra-chip:hover{border-color:var(--ra-madder);transform:translateY(-2px);}
.ra-chip .room{font-family:var(--ra-display);font-weight:600;font-size:1.04rem;line-height:1.2;
  display:block;color:var(--ra-ink);}
.ra-chip .dim{color:var(--ra-madder);margin-top:8px;display:block;}
.ra-chip .sub{color:var(--ra-dust);font-size:.8rem;margin-top:5px;display:block;line-height:1.35;}

/* ---------- sections ---------- */
.ra-band{padding:30px 0;}
.ra-head{margin-bottom:14px;}
.ra-head h2{font-size:clamp(1.5rem,2.2vw,1.85rem);margin:0;}
.ra-head p{color:var(--ra-fawn);margin:5px 0 0;max-width:62ch;font-size:.96rem;}

/* ---------- pillars ---------- */
.ra-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ra-pillar{background:var(--ra-card);border:1px solid var(--ra-hair);display:flex;flex-direction:column;}
.ra-pillar__ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ra-wool);}
.ra-pillar__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.ra-pillar__ph .ra-measure{position:absolute;left:18px;right:18px;bottom:16px;}
.ra-pillar__ph .ra-measure .r,
.ra-pillar__ph .ra-measure .r::before,
.ra-pillar__ph .ra-measure .r::after{background:#F6D8CF;}
.ra-pillar__ph .ra-measure .t{color:#FAF5ED;text-shadow:0 1px 5px rgba(30,22,17,.75);}
.ra-pillar__body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;}
.ra-pillar__kick{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.ra-pillar__kick .bar{width:26px;height:3px;background:var(--ra-madder);}
.ra-pillar__kick .count{color:var(--ra-dust);}
.ra-pillar h3{font-size:1.3rem;margin:0;}
.ra-pillar h3 a{color:var(--ra-ink);text-decoration:none;}
.ra-pillar h3 a:hover{color:var(--ra-madder);}
.ra-pillar p{color:var(--ra-fawn);font-size:.93rem;margin:7px 0 0;}
.ra-pillar ul{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--ra-hair);}
.ra-pillar li{padding:4px 0;margin:0;}
.ra-pillar li a{font-weight:500;font-size:.94rem;color:var(--ra-fawn);
  display:flex;justify-content:space-between;gap:12px;text-decoration:none;}
.ra-pillar li a:hover{color:var(--ra-madder);}
.ra-pillar li .n{font-family:var(--ra-mono);font-size:.78rem;color:var(--ra-dust);}
.ra-pillar__foot{margin-top:auto;padding-top:14px;}
.ra-pillar__foot .ra-knots{color:var(--ra-madder);}
.ra-pillar--2 .ra-pillar__kick .bar{background:var(--ra-saffron);}
.ra-pillar--2 .ra-pillar__foot .ra-knots{color:var(--ra-saffron);}
.ra-pillar--3 .ra-pillar__kick .bar{background:var(--ra-indigo);}
.ra-pillar--3 .ra-pillar__foot .ra-knots{color:var(--ra-indigo);}

/* ---------- article cards ---------- */
.ra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 22px;}
.ra-acard{display:flex;flex-direction:column;text-decoration:none;}
.ra-acard__ph{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;
  background:var(--ra-wool);line-height:0;font-size:0;}
.ra-acard__ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.ra-acard:hover .ra-acard__ph img{transform:scale(1.03);}
.ra-acard .cat{margin:11px 0 5px;display:block;color:var(--ra-madder);}
.ra-acard h3{font-size:1.12rem;line-height:1.25;margin:0;}
.ra-acard h3 a{color:var(--ra-ink);text-decoration:none;}
.ra-acard:hover h3 a{color:var(--ra-madder-deep);}
.ra-acard p{color:var(--ra-fawn);font-size:.92rem;line-height:1.5;margin:6px 0 0;}

/* ---------- A graft: reference desk ---------- */
.ra-desk{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;}
.ra-desk .qa{border-top:1px solid var(--ra-hair);padding:11px 0;}
.ra-desk .qa h3{font-family:var(--ra-text);font-weight:700;font-size:1rem;line-height:1.3;
  margin:6px 0 4px;letter-spacing:0;}
.ra-desk .qa p{margin:0;font-size:.93rem;color:var(--ra-fawn);}

/* ---------- ad slot ---------- */
.ra-ad{background:var(--ra-linen);border-top:1px solid var(--ra-hair);
  border-bottom:1px solid var(--ra-hair);padding:16px 0;text-align:center;}
.ra-ad .lbl{color:var(--ra-dust);display:block;margin-bottom:10px;}
.ra-ad__box{border:1px dashed var(--ra-hair);background:rgba(252,250,246,.6);
  min-height:90px;display:flex;align-items:center;justify-content:center;
  max-width:970px;margin:0 auto;color:var(--ra-dust);font-family:var(--ra-mono);font-size:.72rem;
  letter-spacing:.12em;text-transform:uppercase;}

/* ---------- trust strip ---------- */
.ra-trust{background:var(--ra-walnut);color:#E4D6C4;padding:38px 0;}
.ra-trust h2{color:#FAF5ED;}
.ra-trust .ra-head p{color:#B6A38C;}
.ra-trust__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:2px;}
.ra-trust__item{border-top:1px solid #3B2E25;padding-top:18px;}
.ra-trust__item .ra-mono{color:#7FA0AE;display:block;margin-bottom:13px;}
.ra-trust__item h3{color:#FAF5ED;font-size:1.1rem;margin:0;}
.ra-trust__item p{color:#B6A38C;font-size:.94rem;line-height:1.55;margin:7px 0 0;}

/* ---------- footer ---------- */
.ra-footer{background:#170F0B;color:#B6A38C;padding:34px 0 0;}
.ra-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;}
.ra-footer .brand{font-family:var(--ra-display);font-weight:600;font-size:1.5rem;
  color:#FAF5ED;display:block;letter-spacing:-.02em;}
.ra-footer .brand span{color:var(--ra-madder);}
.ra-footer__grid p{margin:12px 0 0;font-size:.92rem;line-height:1.55;max-width:34ch;}
.ra-footer h4{color:#FAF5ED;font-size:1.01rem;font-weight:600;margin:0 0 15px;
  font-family:var(--ra-display);}
.ra-footer ul{list-style:none;margin:0;padding:0;}
.ra-footer li{margin-bottom:7px;}
.ra-footer a{font-size:.92rem;color:#B6A38C;text-decoration:none;}
.ra-footer a:hover{color:#E8A392;}
/* A graft: colophon */
.ra-colophon{margin-top:24px;border-top:1px solid #2C211A;padding:16px 0 20px;
  display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.ra-colophon p{margin:0;font-size:.87rem;color:#6F5D4E;max-width:74ch;line-height:1.65;}
.ra-colophon .ra-mono{color:#6F5D4E;}

/* ---------- article pages: restrained, per A's warning about pattern fatigue ---------- */
.single .entry-content,.page .entry-content{font-size:1.06rem;line-height:1.75;}
.single .entry-content h2,.page .entry-content h2{margin-top:1.9em;font-size:1.75rem;}
.single .entry-content h3,.page .entry-content h3{margin-top:1.5em;font-size:1.3rem;}
.single .entry-title,.page .entry-title{font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.1;}
.single .entry-content table,.page .entry-content table{border-collapse:collapse;width:100%;}
.single .entry-content th,.single .entry-content td,
.page .entry-content th,.page .entry-content td{
  border:1px solid var(--ra-hair);padding:10px 12px;text-align:left;}
.single .entry-content thead th,.page .entry-content thead th{
  background:var(--ra-linen);font-family:var(--ra-mono);font-size:.75rem;
  letter-spacing:.08em;text-transform:uppercase;}
.single .entry-content figure,.page .entry-content figure{margin:2em 0;}
.single .entry-content figure img,.page .entry-content figure img{width:100%;height:auto;display:block;}
.entry-meta{font-family:var(--ra-mono);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ra-dust);}

/* ---------- archives ---------- */
.archive .site-main .post,.blog .site-main .post,.search .site-main .post{
  background:var(--ra-card);border:1px solid var(--ra-hair);padding:26px 28px;margin-bottom:26px;}
.archive .entry-title,.blog .entry-title,.search .entry-title{font-size:1.5rem;}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .ra-pillars{grid-template-columns:1fr 1fr;}
  .ra-grid{grid-template-columns:1fr 1fr;}
  .ra-chips{grid-template-columns:repeat(3,1fr);}
  .ra-footer__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:820px){
  body{font-size:16.5px;}
  .ra-wrap{padding:0 20px;}
  .ra-hero__media{height:60vh;min-height:360px;}
  .ra-hero__media::after{background:linear-gradient(180deg,rgba(30,22,17,.30) 0%,rgba(30,22,17,.06) 60%);}
  .ra-hero__measure{left:8%;right:8%;bottom:11%;}
  .ra-hero__panel{margin-top:-30px;padding:20px 18px 22px;max-width:none;}
  .ra-hero__panel h1{font-size:1.72rem;}
  .ra-hero__panel .dek{font-size:.94rem;}
  .ra-btn{flex:1;text-align:center;padding:10px 12px;}
  .ra-sizes{margin-top:20px;padding:20px 0 22px;}
  .ra-chips{grid-template-columns:1fr 1fr;gap:10px;}
  .ra-band{padding:24px 0;}
  .ra-pillars{grid-template-columns:1fr;gap:26px;}
  .ra-grid{grid-template-columns:1fr;gap:34px;}
  .ra-desk{grid-template-columns:1fr;gap:0;}
  .ra-trust{padding:28px 0;}
  .ra-trust__grid{grid-template-columns:1fr;gap:28px;}
  .ra-footer__grid{grid-template-columns:1fr;gap:32px;}
  .ra-colophon{flex-direction:column;gap:14px;}
  .site-header .site-branding::before{width:30px;height:30px;}
}
@media (max-width:420px){
  .ra-chips{grid-template-columns:1fr;}
  .ra-hero__panel h1{font-size:1.55rem;}
}

/* Long-form reading stays generous; only the homepage furniture is tightened. */
.single .entry-content,.page:not(.home) .entry-content{font-size:1.05rem;line-height:1.7;}

/* Gate-page links in the colophon. The shared sc-footer-links mu-plugin used to supply
   these and is filtered off here to avoid a duplicate footer — dropping it silently took
   the Privacy Policy link off every page with it, which the audit caught. A privacy link
   is also an AdSense requirement, so this is compliance, not decoration. */
.ra-colophon__links{display:flex;flex-wrap:wrap;align-items:center;gap:14px;}
.ra-colophon__links a{color:#B6A38C;text-decoration:none;}
.ra-colophon__links a:hover{color:#E8A392;text-decoration:underline;}

/* Hub pages: same card language as the homepage, tighter stacking between category blocks. */
.ra-hubsec{padding:26px 0 4px;}
.ra-hubsec + .ra-hubsec{border-top:1px solid var(--ra-hair);}
.ra-hubsec .ra-head h2 a{color:var(--ra-ink);text-decoration:none;}
.ra-hubsec .ra-head h2 a:hover{color:var(--ra-madder);}
