/*
Theme Name: North Woodland Group
Theme URI: https://northwoodlandgroup.com
Author: North Woodland Group LLC
Description: Custom theme for North Woodland Group and its divisions: Warrior Roots Records, Warrior Roots Publishing, Warrior Roots Active Wear and Warrior Labs. Division pages are created automatically; add their links under Appearance > Customize > Division links.
Version: 2.3
Requires at least: 6.0
Requires PHP: 7.4
License: All rights reserved
Text Domain: nwg
*/

/* Layout: paper page with a tan hero panel carrying the feather mark; divisions as a badge gallery; one dark pine band for contact. Single deliberate light look. */
:root{
  --paper:#F4EEE3; --paper-2:#EBE2D2; --ink:#1E1A16; --ink-soft:#5A5047;
  --tan:#BFA587; --tan-deep:#8C7356; --rust:#9A3B2B; --pine:#26302A; --cream:#F4ECDE;
  --f-display:"Gilda Display","Cormorant Garamond",Georgia,serif;
  --f-caps:"Marcellus SC","Marcellus",Georgia,serif;
  --f-body:"Libre Franklin","Helvetica Neue",Arial,sans-serif;
  --max:1120px; --gut:clamp(16px,4vw,40px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--f-body)}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.caps{font-family:var(--f-caps);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.1;text-wrap:balance;margin:0}
:focus-visible{outline:2px solid var(--rust);outline-offset:3px}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--paper-2)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:40px;width:auto}
.brand span{font-family:var(--f-display);font-size:1.25rem;line-height:1}
.brand small{display:block;font-family:var(--f-caps);font-size:.68rem;letter-spacing:.2em;color:var(--ink-soft);margin-top:4px}
.nav{display:flex;gap:clamp(14px,3vw,32px)}
.nav a{text-decoration:none;font-family:var(--f-caps);letter-spacing:.14em;font-size:.78rem;text-transform:uppercase;padding-block:6px;border-bottom:1px solid transparent}
.nav a:hover{border-color:var(--rust)}

/* hero */
.hero{padding-block:clamp(28px,5vw,56px)}
.hero-panel{background:var(--tan);color:var(--ink);border-radius:2px;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;overflow:hidden;position:relative}
.hero-copy{padding:clamp(28px,6vw,72px);min-width:0}
.hero-copy .caps{color:var(--ink);opacity:.75}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);margin-block:18px 22px}
.hero p{max-width:34ch;font-size:1.125rem;margin:0}
.hero-mark{align-self:stretch;display:grid;place-items:center;padding:clamp(24px,4vw,48px);border-left:1px solid color-mix(in srgb,var(--cream) 45%,transparent)}
.hero-mark img{height:clamp(220px,32vw,400px);width:auto;animation:rise 1.4s ease-out both}
@keyframes rise{from{transform:translateY(10px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hero-mark img{animation:none}}
.btn{display:inline-block;margin-top:28px;background:var(--ink);color:var(--cream)!important;text-decoration:none;padding:13px 22px;font-family:var(--f-caps);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;border-radius:2px}
.btn:hover{background:var(--rust)}

/* section heads */
.sec{padding-block:clamp(48px,8vw,96px)}
.sec-head{display:grid;grid-template-columns:1fr 1.4fr;gap:24px 48px;align-items:end;margin-bottom:clamp(32px,5vw,56px)}
.sec-head h2{font-size:clamp(2rem,4vw,3rem)}
.sec-head p{margin:0;color:var(--ink-soft);max-width:52ch}
.sec-head .caps{color:var(--rust);display:block;margin-bottom:12px}

/* divisions */
.divs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--paper-2);border:2px solid var(--paper-2)}
.div{background:var(--paper);display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;align-items:center;padding:clamp(22px,3vw,36px)}
.div .logo{width:140px;height:140px;display:grid;place-items:center}
.div .logo img{max-height:140px;width:auto}
.div h3{font-size:1.6rem;margin-bottom:6px}
.div .kind{color:var(--rust);margin-bottom:10px;display:block}
.div p{margin:0;color:var(--ink-soft);font-size:1rem}
.labs-mark{width:128px;height:128px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;background:var(--paper-2)}
.labs-mark img{height:84px!important}

/* about */
.about{background:var(--paper-2)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.about-grid p{margin:0 0 1em;max-width:58ch}
.tree{border-left:1px solid var(--tan-deep);padding-left:24px;margin:0;list-style:none}
.tree li{position:relative;padding-block:10px}
.tree li::before{content:"";position:absolute;left:-24px;top:50%;width:16px;border-top:1px solid var(--tan-deep)}
.tree .root{font-family:var(--f-display);font-size:1.35rem}
.tree .root::before{display:none}
.tree .tag{font-family:var(--f-caps);font-size:.7rem;letter-spacing:.14em;color:var(--ink-soft);margin-left:8px;text-transform:uppercase}

/* contact */
.contact{background:var(--pine);color:var(--cream)}
.contact .sec-head p{color:color-mix(in srgb,var(--cream) 75%,transparent)}
.contact .sec-head .caps{color:var(--tan)}
.mail{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.mail a{font-family:var(--f-display);font-size:clamp(1.5rem,4vw,2.4rem);text-decoration:none;border-bottom:1px solid var(--tan);overflow-wrap:anywhere}
.copy{background:transparent;color:var(--cream);border:1px solid color-mix(in srgb,var(--cream) 50%,transparent);padding:9px 16px;font-family:var(--f-caps);letter-spacing:.14em;font-size:.75rem;text-transform:uppercase;cursor:pointer;border-radius:2px}
.copy:hover{border-color:var(--cream)}

/* mission */
.mission{padding-block:clamp(48px,8vw,96px) 0}
.mission-grid{display:grid;grid-template-columns:1fr 2.2fr;gap:24px 48px;align-items:start}
.mission-grid .caps{color:var(--rust);padding-top:12px}
.mission-statement{font-family:var(--f-display);font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.25;margin:0;text-wrap:balance}
.vision{margin:28px 0 0;color:var(--ink-soft);max-width:56ch;font-size:1.125rem}
.vision strong{font-family:var(--f-caps);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--ink);margin-right:10px}
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:clamp(40px,6vw,72px);padding-top:32px;border-top:1px solid var(--tan-deep)}
.values h3{font-size:1.45rem;margin-bottom:10px}
.values p{margin:0;color:var(--ink-soft);font-size:.98rem}
@media (max-width:860px){.mission-grid{grid-template-columns:1fr}.values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.values{grid-template-columns:1fr;gap:24px}}

/* footer */
.site-foot{background:var(--pine);color:color-mix(in srgb,var(--cream) 70%,transparent);border-top:1px solid color-mix(in srgb,var(--cream) 15%,transparent)}
.site-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:28px;font-size:.875rem}
.site-foot img{height:34px;width:auto;opacity:.85}

@media (max-width:860px){
  .hero-panel{grid-template-columns:1fr}
  .hero-mark{border-left:0;border-top:1px solid color-mix(in srgb,var(--cream) 45%,transparent);order:-1;padding-block:28px}
  .hero-mark img{height:180px}
  .sec-head,.about-grid{grid-template-columns:1fr}
  .divs{grid-template-columns:1fr}
}
@media (max-width:480px){
  .div{grid-template-columns:1fr;text-align:left}
  .div .logo{width:110px;height:110px}
  .div .logo img{max-height:110px}
  .brand span{font-size:1.1rem}
}


/* linked division cards */
a.div{text-decoration:none;color:inherit;transition:background .2s}
a.div:hover{background:#FBF7F0}
a.div:hover h3{color:var(--rust)}
.more{display:inline-block;margin-top:14px;font-family:var(--f-caps);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;color:var(--ink);border-bottom:1px solid var(--rust);padding-bottom:2px}
.eyebrow{color:var(--rust);display:block;margin-bottom:12px}
.about-h{font-size:clamp(2rem,4vw,3rem);margin-bottom:24px}
.tree a{text-decoration:none;border-bottom:1px solid transparent}
.tree a:hover{border-color:var(--rust)}
.tree .future{color:var(--ink-soft);font-style:italic}
.foot-nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot-nav a{text-decoration:none;color:var(--cream)}
.foot-nav a:hover{text-decoration:underline}

/* division pages */
.crumb{display:inline-block;text-decoration:none;color:var(--ink-soft);margin-bottom:24px}
.crumb:hover{color:var(--rust)}
.d-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,5vw,56px);align-items:center;background:var(--tan);padding:clamp(28px,5vw,56px);border-radius:2px}
.d-logo{width:clamp(140px,22vw,240px);aspect-ratio:1;max-width:100%;display:grid;place-items:center;background:var(--paper);border-radius:50%;padding:10px}
.d-logo img{max-height:100%;width:auto}
.d-logo .labs-mark.big{width:100%;height:100%;border:0}
.d-logo .labs-mark.big img{height:60%!important}
.d-hero .kind{color:var(--ink);opacity:.75;display:block;margin-bottom:14px}
.d-hero h1{font-size:clamp(2.2rem,5.5vw,4rem)}
.tagline{font-size:1.2rem;margin:16px 0 0;max-width:40ch}
.d-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.d-text p{margin:0 0 1.1em;max-width:62ch;font-size:1.125rem}
.d-text p:first-child{font-family:var(--f-display);font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.35}
.facts{margin:0;border-top:1px solid var(--tan-deep)}
.facts div{padding-block:14px;border-bottom:1px solid var(--paper-2)}
.facts dt{color:var(--rust);margin-bottom:4px;font-size:.72rem}
.facts dd{margin:0;font-size:1.05rem}
.links{margin-top:32px}
.links h2{font-family:var(--f-caps);font-size:.8rem;margin-bottom:14px;color:var(--ink)}
.links ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.links a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;background:var(--ink);color:var(--cream);padding:13px 18px;border-radius:2px;font-weight:500}
.links a:hover{background:var(--rust)}
.others{background:var(--paper-2);padding-block:clamp(40px,6vw,64px)}
.other-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.other{display:flex;gap:16px;align-items:center;text-decoration:none;color:inherit;background:var(--paper);padding:16px;border-radius:2px}
.other:hover strong{color:var(--rust)}
.other .kind{display:block;color:var(--ink-soft);font-size:.68rem;margin-bottom:2px}
.other strong{font-family:var(--f-display);font-weight:400;font-size:1.15rem;line-height:1.2}
.o-logo{width:64px;height:64px;flex:none;display:grid;place-items:center}
.o-logo img{max-height:64px;width:auto}
.o-logo .labs-mark.small{width:60px;height:60px}
.o-logo .labs-mark.small img{height:40px!important}
.preview-note{background:var(--ink);color:var(--cream);font-size:.85rem;text-align:center;padding:8px 16px}
@media (max-width:860px){.d-grid{grid-template-columns:1fr}.other-row{grid-template-columns:1fr}}
@media (max-width:560px){.d-hero{grid-template-columns:1fr}.d-logo{width:150px}}


/* northwoods artwork */
.mission{background:var(--paper) url("https://northwoodlandgroup.com/wp-content/uploads/2026/10/ribbonwork-tile.png") repeat;background-size:360px auto;padding-bottom:clamp(48px,8vw,96px)}
.about-side{display:grid;gap:32px;min-width:0}
.beadwork{margin:0}
.beadwork img{width:100%;max-width:440px;border-radius:2px}
.beadwork figcaption{margin-top:10px;font-size:.85rem;color:var(--ink-soft);max-width:44ch}
.northwoods{background:var(--pine);line-height:0}
.northwoods img{width:100%;height:clamp(180px,30vw,420px);object-fit:cover;object-position:center 62%}
.ribbon-band{height:clamp(32px,4vw,52px);background:var(--pine) url("https://northwoodlandgroup.com/wp-content/uploads/2026/10/ribbonwork-band.png") repeat-x left center;background-size:auto 100%}


/* photo hero + new artwork (Oct 2026) */
.hero-photo .hero-panel{background:var(--pine) url("https://northwoodlandgroup.com/wp-content/uploads/2026/10/nwg-woodland-stream.jpg") center 60%/cover no-repeat;color:var(--cream);min-height:clamp(420px,46vw,620px)}
.hero-photo .hero-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,16,13,.86) 0%,rgba(18,16,13,.62) 42%,rgba(18,16,13,.08) 72%,rgba(18,16,13,0) 100%);pointer-events:none}
.hero-photo .hero-copy{position:relative;z-index:1}
.hero-photo .hero-copy .caps,.hero-photo h1,.hero-photo p{color:var(--cream)}
.hero-photo .hero-copy .caps{opacity:.85}
.hero-photo .btn{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.hero-photo .hero-mark{border-left:0}
.hero-photo .hero-mark img{display:none}
@media (max-width:760px){
  .hero-photo .hero-panel{background-position:center 60%}
  .hero-photo .hero-panel::before{background:linear-gradient(180deg,rgba(18,16,13,.82) 0%,rgba(18,16,13,.55) 60%,rgba(18,16,13,.25) 100%)}
  .hero-photo .hero-mark{display:none}
}
.beadwork img{max-width:100%;aspect-ratio:16/9;object-fit:cover}
.northwoods img{object-position:center 50%}
