/*
Theme Name: Meta Martis
Theme URI: https://metamartis.com
Author: Meta Martis, LLC
Description: Custom theme for Meta Martis, the archive activation company. Scroll-story homepage with videotape and LTO journeys, plus pages and posts for news and case studies.
Version: 1.17.3
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: metamartis
*/
/* Page styles live in assets/page.css. This file only carries the theme header and styles for standard pages and posts. */

.entry-wrap{padding-block:clamp(56px,8vw,112px)}
.entry-wrap .wrap{max-width:860px}
.entry-title{font-size:clamp(34px,4.6vw,56px)}
.entry-meta{margin-top:14px;font-family:var(--mono);font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.entry-content{margin-top:36px;font-size:18px;line-height:1.7}
.entry-content>*+*{margin-top:1.1em}
.entry-content h2{font-size:clamp(26px,3vw,36px);margin-top:1.6em}
.entry-content h3{margin-top:1.4em}
.entry-content p,.entry-content li{max-width:none;color:var(--bone)}
.entry-content img{height:auto;border-radius:6px}
.entry-content blockquote{margin:1.4em 0;padding:4px 0 4px 22px;border-left:3px solid var(--oxide);color:var(--muted)}
.entry-content a{color:var(--violet-soft)}
.post-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.post-card{background:var(--ink);padding:28px 26px;display:grid;gap:10px;text-decoration:none;color:var(--bone)}
.post-card:hover{background:var(--ink-3)}
.post-card h2{font-size:clamp(22px,2.4vw,30px)}
.post-card p{color:var(--muted)}
.pager{display:flex;justify-content:space-between;margin-top:32px;font-family:var(--mono);font-size:14px}
.form-notice{padding:14px 16px;border-radius:6px;border:1px solid var(--violet);background:var(--ink-3);color:var(--bone);font-size:16px}
.form-notice.err{border-color:var(--oxide)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Assessment form, step 2 and links */
.steps{font-family:var(--mono);font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--violet)}
.step-intro{color:var(--muted);margin-top:-4px}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks .lbl{flex-basis:100%;font-family:var(--mono);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
label.check{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-family:var(--body);font-size:15px;text-transform:none;letter-spacing:0;color:var(--bone);cursor:pointer}
label.check input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--violet)}
label.check:has(input:checked){border-color:var(--violet);background:var(--ink-3)}
.step-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.skip{color:var(--muted);font-size:16px}
.consent a,.fine a,.foot-link{color:var(--violet-soft)}
.entry-content ul{padding-left:1.2em}

/* Volume: number plus unit */
.vol{display:flex;gap:8px}
.vol input{flex:1 1 auto;min-width:0}
.vol select{flex:0 0 auto;width:auto;min-width:7.5em}

/* Longer hero headline: wider measure, slightly smaller size */
.hero h1{max-width:16ch;font-size:clamp(40px,5.6vw,80px)}

/* ==========================================================
   Mobile and tablet type scale (v1.1)
   Nothing under 15px on tablets or 16px on phones.
   ========================================================== */
@media (max-width:900px){
  .eyebrow,.legend,.stage .q,.stage .role,.m small,.chip,.case i,.oc .cap,.dp .k,.inf .k,
  legend,label,.choose .lbl,.chooser .lbl,.viewtoggle button,.consent,.fine,.direct,footer{font-size:15px}
  .inf li,.m span,.stage .tech{font-size:16.5px}
}
@media (max-width:600px){
  body{font-size:18px;line-height:1.6}
  p{max-width:none}

  /* headings */
  .hero h1{font-size:clamp(40px,11vw,52px);line-height:1.05}
  h2{font-size:clamp(32px,8.6vw,42px)}
  .whynow .big{font-size:clamp(34px,9vw,44px)}
  .stage h3{font-size:26px}
  .oc h3,.dp h3{font-size:24px}
  .inf h3{font-size:28px}
  .case b{font-size:22px}
  .cost b{font-size:26px}
  .m b{font-size:48px}

  /* body copy */
  .hero .lede{font-size:20px}
  .sub{font-size:22px}
  .cost span,.oc p,.dp p,.case span,.inf p,.stage p,.sechead p,.m span,.inf li,.sov{font-size:18px}
  .stage .tech{font-size:16.5px;line-height:1.65}

  /* small labels: mono caps stay readable */
  .eyebrow,.legend,.stage .q,.stage .role,.m small,.chip,.case i,.oc .cap,.dp .k,.inf .k,
  legend,label,.choose .lbl,.chooser .lbl,.descriptor,.direct,footer{font-size:16px}
  .eyebrow,.stage .q,.dp .k,.inf .k,legend{letter-spacing:.08em}
  .consent,.fine{font-size:16px;line-height:1.5}

  /* buttons, pills, tabs: bigger text and 48px touch targets */
  .btn{font-size:18px;padding:15px 22px;min-height:48px}
  .nav{gap:12px}
  .logo{flex:0 1 auto;min-width:0}
  .logo img{height:auto;width:min(190px,46vw)}
  .btn-nav{font-size:15px;padding:10px 12px;min-height:44px;flex:0 0 auto}
  .pill{font-size:17px;padding:12px 18px;min-height:48px}
  .tab{font-size:18px;padding:14px 18px;flex:1 1 auto;min-height:52px}
  .viewtoggle{width:100%}
  .viewtoggle button{flex:1;font-size:15px;padding:13px 10px;min-height:48px}
  input,select,textarea{font-size:18px;padding:14px}
  .consent input{width:22px;height:22px}

  /* journey diagram: keep labels legible by letting it scroll sideways */
  .stage-visual{position:static;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
  .stage-visual::before{content:"Swipe to explore the diagram";display:block;margin-bottom:10px;font-family:var(--mono);font-size:15px;letter-spacing:.06em;color:var(--muted)}
  .stage-visual svg{min-width:700px}
  .legend{position:sticky;left:0;font-size:15px}

  .footer .wrap,footer .wrap{flex-direction:column;align-items:flex-start;gap:10px}
}
@media (max-width:400px){
  .hero h1{font-size:38px}
}

/* Assessment details page (step 2 on its own page) */
.details-page{min-height:70vh;padding-block:clamp(40px,6vw,88px)}
.details-page h1{font-family:var(--display,inherit);font-size:clamp(32px,4.4vw,52px);line-height:1.05;margin:14px 0 10px}
.back-home{display:inline-block;color:var(--muted);font-size:16px;text-decoration:none}
.back-home:hover{color:var(--bone)}
.step-summary{margin:4px 0 18px;padding:10px 14px;border-left:3px solid var(--violet);background:var(--ink-3);color:var(--bone);font-size:15px}
.step-summary span{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}

/* Footer site links (1.16.0): a full-width row above the copyright line */
footer .foot-nav{order:-1;width:100%;display:flex;flex-wrap:wrap;gap:10px 22px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--line)}
footer .foot-nav a{border-bottom:0}
@media (max-width:600px){footer .foot-nav{gap:10px 18px}}

/* Homepage questions (1.16.0) */
.faq{margin-top:40px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-size:clamp(17px,1.6vw,20px);font-weight:500;color:var(--bone)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:22px;color:var(--violet-soft)}
.faq details[open] summary::after{content:"\2212"}
.faq summary:focus-visible{outline:2px solid var(--violet-soft);outline-offset:4px}
.faq details p{margin:0 0 22px;max-width:760px;color:var(--muted)}

/* Film transcript (1.17.0) */
.transcript{margin-top:14px;max-width:760px}
.transcript summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-soft)}
.transcript summary::-webkit-details-marker{display:none}
.transcript summary::before{content:"+";font-size:16px}
.transcript[open] summary::before{content:"\2212"}
.transcript summary:focus-visible{outline:2px solid var(--violet-soft);outline-offset:4px}
.transcript-body{margin-top:14px;padding-left:16px;border-left:2px solid var(--line)}
.transcript-body p{margin:0 0 12px;color:var(--muted)}
