/*
Theme Name: Sixty Mountain
Theme URI: https://sixtymountain.com
Author: Sixty Mountain PLLC
Description: Custom hand-built theme for Sixty Mountain PLLC. Interactive utility-ecosystem portfolio, drawing-set vernacular, zero page builders.
Version: 0.3.3
Requires PHP: 8.0
License: proprietary
Text Domain: sixtymountain
*/

/* Design tokens — approved concept 7 / walkthrough palette */
:root{
  --spruce:#1F3D33; --spruce-deep:#152B24; --paper:#F5F6F1; --white:#FFFFFF;
  --granite:#5C6B64; --stone:#DAE1DC; --dawn:#D98E32; --dawn-deep:#B5731F;
  --ink:#20302A;
  --serif:"Charter","Georgia","Times New Roman",serif;
  --sans:"Seravek","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Code",Consolas,Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);
     font-size:18px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px}
:focus-visible{outline:2px solid var(--dawn);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:700;color:var(--spruce);text-wrap:balance}
h2{font-size:clamp(28px,3.4vw,40px);line-height:1.1;margin:8px 0 12px}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.18em;
        text-transform:uppercase;color:var(--dawn-deep)}
.lede{max-width:62ch;color:#42524B}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* header / nav */
.site-header{background:var(--white);border-bottom:1px solid var(--stone);
             position:sticky;top:0;z-index:40}
.nav{display:flex;align-items:center;height:66px;gap:28px;
     max-width:1140px;margin:0 auto;padding:0 32px}
.logo{text-decoration:none;display:flex;align-items:center;gap:11px}
.logo .mark{height:30px;width:auto;display:block}
.logo .lt{display:flex;flex-direction:column;line-height:1.1}
.logo b{font-family:var(--serif);font-size:20px;color:var(--spruce)}
.logo .lt span{font-size:10.5px;letter-spacing:.22em;color:var(--granite);text-transform:uppercase}
.nav ul{display:flex;gap:24px;list-style:none;margin-left:auto}
.nav ul a{text-decoration:none;font-size:16px;color:#3C4A44;padding:6px 2px;
          border-bottom:2px solid transparent}
.nav ul a:hover,.nav ul .current-menu-item a{color:var(--spruce);border-bottom-color:var(--dawn)}
.nav .call{text-decoration:none;background:var(--spruce);color:#F2F6F3;
           padding:10px 16px;border-radius:3px;font-size:14px;font-weight:600}
.nav .call:hover{background:var(--spruce-deep)}
@media(max-width:820px){.nav ul{gap:14px}.nav ul a{font-size:13px}}
.logo b{white-space:nowrap}
.call .c-short{display:none}
@media(max-width:680px){
  .nav{gap:14px;padding:0 20px}
  .logo .lt{display:none}
  .logo .mark{height:34px}
  .nav ul{gap:13px}
  .nav ul a{font-size:13.5px}
  .call .c-full{display:none}
  .call .c-short{display:inline}
  .nav .call{padding:9px 14px}
}

/* cinema-band hero: full-bleed slideshow, headline on the spruce band */
.cinema{margin:0 auto}
.cstage{position:relative;width:100%;height:auto;aspect-ratio:3/1;overflow:hidden;background:var(--spruce-deep)}
@media(min-width:900px){
  .cinema{display:flex;flex-direction:column;min-height:calc(100vh - 66px)}
  .cstage{flex:1;aspect-ratio:auto;min-height:340px}
}
.cslide{position:absolute;inset:0;background-size:cover;background-position:center 48%;
        opacity:0;transition:opacity 1.4s}
.cslide.on{opacity:1}
.cchip{position:absolute;top:16px;right:18px;background:rgba(21,43,36,.82);color:#E9EFE9;
       font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;padding:8px 12px;
       border-radius:3px;z-index:2;max-width:80%}
.cband{background:var(--spruce);color:#F2F6F0}
.cband-in{display:flex;gap:30px;align-items:center;flex-wrap:wrap;padding-top:28px;padding-bottom:32px}
.cband h1{font-family:var(--serif);color:#F2F6F0;font-size:clamp(26px,3.2vw,40px);
          line-height:1.1;max-width:24ch;text-wrap:balance}
.cband h1 em{font-style:italic;color:var(--dawn)}
.csub{color:#B4C5BB;max-width:52ch;font-size:16.5px;margin-top:8px}
.csp{flex:1}
.btn-hero{background:var(--dawn);color:#241505;text-decoration:none;font-weight:700;
          font-size:15px;padding:14px 24px;border-radius:3px;white-space:nowrap}
.btn-hero:hover{background:#E9A44E}
@media(max-width:680px){.cstage{aspect-ratio:auto;height:38vh}.cband-in{padding-top:22px;padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){.cslide{transition:none}}
.eco .hint{text-align:center;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;
           text-transform:uppercase;color:var(--granite);padding:26px 0 10px}
.eco .hint b{color:var(--dawn-deep)}
section{padding:72px 0}
.eco{background:var(--white);padding-top:0;padding-bottom:70px}
.scene-scroll{overflow-x:auto;margin-top:4px}
.scene{min-width:980px;display:block;width:100%;height:auto}
.scene .glabel{font-family:var(--mono);font-size:12.5px;fill:var(--granite);
               letter-spacing:.08em;text-anchor:middle}
.scene .gcount{font-family:var(--mono);font-size:11px;fill:var(--dawn-deep);text-anchor:middle}
.zone{cursor:pointer}
.zone .art{stroke:var(--spruce);stroke-width:2;fill:none;transition:stroke .15s}
.zone .fillart{fill:#E7EEE9;stroke:var(--spruce);stroke-width:2;transition:all .15s}
.zone .hit{fill:transparent}
.zone:hover .art,.zone:focus-visible .art,.zone:hover .fillart{stroke:var(--dawn-deep)}
.zone:hover .glabel{fill:var(--dawn-deep)}
.zone.active .art,.zone.active .fillart{stroke:var(--dawn-deep);stroke-width:2.6}
.zone.active .glabel{fill:var(--dawn-deep);font-weight:700}
.zone .ring{fill:none;stroke:var(--dawn);stroke-width:1.6;stroke-dasharray:5 5;
            opacity:0;transition:opacity .15s}
.zone.active .ring{opacity:1}
.wire{stroke:var(--spruce);stroke-width:1.6;fill:none;opacity:.75}
.comm{stroke:var(--dawn);stroke-width:1.5;fill:none;stroke-dasharray:2 7;
      animation:comm 1.5s linear infinite;opacity:.9}
@keyframes comm{to{stroke-dashoffset:-9}}
@media(prefers-reduced-motion:reduce){.comm{animation:none}}
.ground{stroke:var(--stone);stroke-width:2}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;justify-content:center}
.chip{font-family:var(--mono);font-size:12px;border:1px solid var(--stone);
      background:var(--paper);padding:8px 13px;border-radius:20px;cursor:pointer;color:#3C4A44}
.chip:hover{border-color:var(--dawn-deep);color:var(--dawn-deep)}
.chip.active{background:var(--spruce);border-color:var(--spruce);color:#F2F6F3}
.panel{margin-top:22px;background:var(--paper);border:1px solid var(--stone);
       border-radius:4px;padding:26px 30px;min-height:240px}
.panel .ph{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.panel h3{font-size:22px}
.panel .pc{font-family:var(--mono);font-size:12px;color:var(--dawn-deep);
           letter-spacing:.1em;margin-left:auto}
.panel .pb{margin-top:6px;color:#46564E;max-width:76ch;font-size:16px}
.plist{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;list-style:none}
@media(max-width:820px){.plist{grid-template-columns:1fr}}
.plist li{padding:11px 0;border-top:1px solid var(--stone);display:grid;
          grid-template-columns:50px 1fr;gap:13px;align-items:baseline}
.plist .yr{font-family:var(--mono);font-size:12px;color:var(--granite);
           font-variant-numeric:tabular-nums}
.plist b{font-weight:600;color:var(--spruce);font-size:16px;display:block}
.plist span{font-size:14px;color:#5A6A61}
.plist a.pl{color:var(--dawn-deep);text-decoration:none;font-weight:600;font-size:16px;display:block}
.plist a.pl:hover{text-decoration:underline}
.plist a.pl::after{content:" \2192";font-family:var(--mono)}
.plist a.ext::after{content:" \2197";font-family:var(--mono)}
.band-spruce{background:var(--spruce);color:#E4EDE7}
.band-spruce .kicker{color:var(--dawn)}
.band-spruce h2{color:#F2F6F0}
.band-spruce .lede{color:#B4C5BB}
.bstats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#2C4A3D;
        border:1px solid #2C4A3D;margin-top:28px}
@media(max-width:780px){.bstats{grid-template-columns:1fr 1fr}}
.bs{background:var(--spruce-deep);padding:20px 18px}
.bs .n{font-family:var(--serif);font-weight:700;font-size:36px;color:#F2F6F0;
       font-variant-numeric:tabular-nums}
.bs .n i{font-style:normal;color:var(--dawn)}
.bs .l{font-family:var(--mono);font-size:11px;letter-spacing:.12em;
       text-transform:uppercase;color:#93AA9C;margin-top:6px}

/* project detail (single-jetpack-portfolio) */
.crumb{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;margin:34px 0 0}
.crumb a{color:var(--dawn-deep);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.pjhead{padding:18px 0 8px}
.pjhead h1{font-size:clamp(30px,4vw,46px);line-height:1.08;max-width:24ch}
.meta{display:flex;flex-wrap:wrap;border:1px solid var(--stone);background:var(--white);margin-top:22px}
.meta > div{padding:14px 22px;border-right:1px solid var(--stone)}
.meta > div:last-child{border-right:0}
.meta .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
         text-transform:uppercase;color:var(--granite)}
.meta .v{font-size:15px;font-weight:600;color:var(--spruce);margin-top:3px}
.pjbody{max-width:820px;padding:34px 0 20px}
.pjbody p{margin:0 0 18px;color:#39473F}
.pjbody h4{font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.14em;
           text-transform:uppercase;color:var(--dawn-deep);margin:34px 0 12px}
.pjbody ul{margin:0 0 18px 20px;color:#39473F}
.pjbody li{margin-bottom:7px}
.pjbody img{border-radius:4px;margin:10px 0 22px}
.pjbody blockquote{border-left:3px solid var(--dawn);padding:6px 0 6px 22px;margin:28px 0;
                   font-family:var(--serif);font-size:21px;line-height:1.45;color:var(--spruce)}
.nextprev{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--stone);
          padding:22px 0 60px;font-size:15px;flex-wrap:wrap}
.nextprev a{color:var(--dawn-deep);text-decoration:none;font-weight:600}
.nextprev a:hover{text-decoration:underline}

/* about */
.prin{display:grid;grid-template-columns:5fr 7fr;gap:44px;align-items:start;padding-top:44px}
@media(max-width:860px){.prin{grid-template-columns:1fr}}
.stamp{border:2px solid var(--spruce);padding:26px;position:relative;background:var(--white)}
.stamp::after{content:"";position:absolute;inset:6px;border:1px solid var(--spruce);pointer-events:none}
.stamp .who{font-family:var(--serif);font-weight:700;font-size:23px;color:var(--spruce)}
.stamp .pe{font-family:var(--mono);font-size:12px;color:var(--dawn-deep);
           letter-spacing:.14em;margin-top:6px}
.stamp ul{list-style:none;margin-top:14px;display:grid;gap:7px}
.stamp li{font-family:var(--mono);font-size:13px;color:#3D4A57;padding-left:16px;position:relative}
.stamp li::before{content:"\2014";position:absolute;left:0;color:var(--dawn-deep)}
.stamp .portrait{width:100%;border-radius:4px;margin-bottom:18px}
.roster{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
        background:var(--stone);border:1px solid var(--stone)}
@media(max-width:880px){.roster{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.roster{grid-template-columns:1fr}}
.seat{background:var(--white);padding:20px 20px 22px}
.seat.lead{outline:2px solid var(--dawn);outline-offset:-2px}
.seat .r{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
         text-transform:uppercase;color:var(--dawn-deep)}
.seat h3{font-size:16.5px;font-family:var(--sans);font-weight:700;margin:7px 0 5px;color:var(--spruce)}
.seat p{font-size:13.5px;color:#57645C}

/* credo (testimonial slot) */
.credo{max-width:780px;margin:0 auto;text-align:center}
.credo blockquote{font-family:var(--serif);font-size:clamp(21px,2.6vw,28px);
                  line-height:1.42;color:var(--spruce)}
.credo blockquote::before{content:"\201C";color:var(--dawn);font-size:1.4em;
                          line-height:0;vertical-align:-.35em;margin-right:2px}
.credo cite{display:block;margin-top:14px;font-style:normal;font-family:var(--mono);
            font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--granite)}

/* contact + generic page */
.contact-pg{max-width:720px;margin:0 auto;text-align:center;padding-top:60px}
.ctas{margin-top:24px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:15px;
     padding:14px 24px;border-radius:3px}
.btn-a{background:var(--spruce);color:#F2F6F3}
.btn-a:hover{background:var(--spruce-deep)}
.btn-b{border:1px solid #9DAFA5;color:var(--spruce)}
.btn-b:hover{border-color:var(--spruce)}
.addr{margin-top:34px;font-family:var(--mono);font-size:13px;color:var(--granite);line-height:2}
.page-body{max-width:820px;padding:34px 0 60px}
.page-body p{margin:0 0 18px;color:#39473F}

/* footer */
.site-footer{background:var(--spruce-deep);color:#93A89B;padding:26px 0;font-size:14px}
.site-footer .wrap{display:flex;gap:20px;flex-wrap:wrap}
.site-footer b{color:#DCE7E0;font-family:var(--serif)}
.site-footer .sp{flex:1}
.site-footer a{color:#B9CBBF;text-decoration:none}
.site-footer a:hover{color:#fff}

/* flagship bodies: figures + bottom line box */
.pjbody figure{margin:10px 0 26px}
.pjbody figure img{margin:0;display:block}
.pjbody figcaption{font-family:var(--mono);font-size:12px;color:var(--granite);
                   letter-spacing:.06em;margin-top:8px}
.bl{background:var(--white);border:1px solid var(--stone);border-radius:4px;
    padding:22px 26px;margin:34px 0 10px}
.bl h4{margin-top:0!important}
.bl ul{margin:0!important;list-style:none}
.bl li{padding-left:24px;position:relative;margin-bottom:6px}
.bl li::before{content:"\26A1";position:absolute;left:0}

/* contact: card + locator map */
.contact2{display:grid;grid-template-columns:6fr 5fr;gap:52px;align-items:center;padding-top:64px}
@media(max-width:900px){.contact2{grid-template-columns:1fr;gap:34px}}
.c-card h1{font-size:clamp(28px,3.6vw,42px);line-height:1.1}
.c-card .ctas{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.tb{margin-top:30px;border:1px solid var(--stone);background:var(--white)}
.tb > div{display:flex;gap:18px;padding:10px 16px;border-bottom:1px solid var(--stone)}
.tb > div:last-child{border-bottom:0}
.tb .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
       color:var(--granite);width:74px;flex:none;padding-top:2px}
.tb .v{font-family:var(--mono);font-size:13px;color:var(--spruce);letter-spacing:.04em}
.c-map svg{width:100%;height:auto;display:block;background:var(--white);border:1px solid var(--stone)}
.c-map .rvr{fill:none;stroke:#7FA8C0;stroke-width:7;opacity:.55;stroke-linecap:round}
.c-map .rvr.thin{stroke-width:4}
.c-map .wtr{font-family:var(--serif);font-style:italic;font-size:12px;fill:#5E88A3}
.c-map .hwy{fill:none;stroke:var(--stone);stroke-width:2.4}
.c-map .city{fill:none;stroke:var(--granite);stroke-width:1.8}
.c-map .cty{font-family:var(--mono);font-size:11px;fill:var(--granite);letter-spacing:.1em}
.c-map .bm path{fill:none;stroke:var(--dawn-deep);stroke-width:2.4;stroke-linejoin:round}
.c-map .bm circle{fill:var(--dawn-deep)}
.c-map .bm line{stroke:var(--dawn-deep);stroke-width:2}
.c-map .bmlab{font-family:var(--mono);font-size:12px;font-weight:700;fill:var(--spruce);letter-spacing:.08em}
.c-map .bmco{font-family:var(--mono);font-size:11px;fill:var(--dawn-deep);letter-spacing:.06em}
.c-map .frame{fill:none;stroke:var(--spruce);stroke-width:2}
.c-map .scale line{stroke:var(--granite);stroke-width:1.6}
.c-map .scale text{font-family:var(--mono);font-size:10px;fill:var(--granite);letter-spacing:.1em}
.c-map .quad{font-family:var(--mono);font-size:10px;fill:var(--granite);letter-spacing:.14em}

/* about refinements: modest portrait, roster note */
.stamp .portrait{width:180px;height:180px;object-fit:cover;border-radius:50%;
                 margin:0 0 16px;display:block}
.roster-note{margin-top:14px;font-family:var(--mono);font-size:12px;
             letter-spacing:.08em;color:var(--granite)}

/* prose spacing wherever the_content renders outside .pjbody */
.copy p+p,.lede p+p{margin-top:15px}

/* product-page CTA row */
.pj-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:26px!important}
.pj-cta-note{font-family:var(--mono);font-size:12.5px;color:var(--granite);letter-spacing:.04em}

/* energized power flow */
.flow{stroke:var(--dawn);stroke-width:2;fill:none;stroke-dasharray:3 13;animation:flow 1.7s linear infinite}
@keyframes flow{to{stroke-dashoffset:-16}}
@media(prefers-reduced-motion:reduce){.flow{animation:none}}

/* zones: suppress UA focus rectangle; ring + label color carry selection */
.zone:focus,.zone:focus-visible{outline:none}
.zone:focus-visible .glabel{fill:var(--dawn-deep);font-weight:700}


/* project exhibit gallery */
.pjbody .pjgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:6px 0 20px}
@media(max-width:700px){.pjbody .pjgrid{grid-template-columns:1fr 1fr}}
.pjgrid figure{margin:0}
.pjgrid img{width:100%;height:230px;object-fit:contain;background:var(--paper);
            border:1px solid var(--stone);margin:0}
.pjgrid figcaption{font-family:var(--mono);font-size:10.5px;color:var(--granite);margin-top:6px;letter-spacing:.05em}
