/* Mist & Mark - content pages (page, blog, search, 404, story, contact, faq).
   Builds on main.css variables and components; keeps the homepage look. */

.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.mm-page{padding-bottom:120px;overflow-x:hidden}
[hidden]{display:none!important}

/* ---- Page banner (template-parts/content/page-hero.php) ---- */
.ph-hero{position:relative;overflow:hidden;padding:110px 0 0;border-bottom:1px solid var(--line)}
.ph-hero-in{position:relative;z-index:2;padding-bottom:110px}
.ph-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5vw,72px);line-height:1.04;letter-spacing:-.01em;margin:26px 0 22px;max-width:900px}
.ph-hero h1 em{font-style:italic;color:var(--mist-dk)}
.ph-sub{font-size:18px;color:var(--ink-2);max-width:520px}
.ph-cn{position:absolute;z-index:2;right:max(28px,calc((100vw - 1320px)/2 + 28px));top:70px;writing-mode:vertical-rl;font-family:var(--cn);font-size:15px;letter-spacing:.5em;color:var(--ink-3)}
.ph-mist{position:absolute;left:0;right:0;bottom:0;width:100%;height:150px;opacity:.55;pointer-events:none}

/* ---- Generic page body (page.php) ---- */
.mm-page-body{padding-top:70px}
.mm-page-body .mm-content,.mm-page .mm-content{margin-top:0}
.mm-page--wide .mm-content{max-width:1320px}

/* Prose: used by page body, FAQ answers, blog posts. */
.mm-prose{overflow-wrap:anywhere}
.mm-prose>*:first-child{margin-top:0}
.mm-prose p{margin:0 0 1.2em;color:var(--ink-2);font-size:17px;line-height:1.75}
.mm-prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,40px);line-height:1.15;color:var(--ink);margin:56px 0 20px}
.mm-prose h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.4vw,30px);line-height:1.2;color:var(--ink);margin:40px 0 14px}
.mm-prose h4{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.3;color:var(--ink);margin:30px 0 10px}
.mm-prose strong{font-weight:500;color:var(--ink)}
.mm-prose ul,.mm-prose ol{margin:0 0 1.4em;padding-left:1.2em;color:var(--ink-2);font-size:17px}
.mm-prose li{margin-bottom:.55em;padding-left:.3em}
.mm-prose ul{list-style:none;padding-left:0}
.mm-prose ul li{position:relative;padding-left:24px}
.mm-prose ul li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}
.mm-prose blockquote{border-left:2px solid var(--gold);padding:6px 0 6px 28px;margin:40px 0;font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.45;color:var(--ink)}
.mm-prose blockquote p{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--ink)}
.mm-prose a{color:var(--ink);border-bottom:1px solid var(--gold);transition:color .3s}
.mm-prose a:hover{color:var(--mist-dk)}
.mm-prose img{width:100%;height:auto;margin:36px 0}
.mm-prose figure{margin:40px 0}
.mm-prose figcaption{font-size:13px;color:var(--ink-3);margin-top:10px;letter-spacing:.04em}
.mm-prose hr{border:0;border-top:1px solid var(--line);margin:48px 0}
.mm-prose table{display:block;max-width:100%;overflow-x:auto;width:100%;border-collapse:collapse;margin:32px 0;font-size:15px}
.mm-prose th,.mm-prose td{text-align:left;padding:14px 18px 14px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.mm-prose th{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:400}

/* ---- Our Story ---- */
.st-open{padding:110px 0 40px}
.st-quote{font-family:var(--serif);font-size:clamp(30px,3.4vw,46px);line-height:1.3;max-width:960px;color:var(--ink)}
.st-quote em{color:var(--mist-dk)}
.story-custom{margin:70px 0 0}
.st-meaning{padding:90px 0}
.st-meaning .sh{margin-bottom:60px}
.st-pair{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.st-pair h3{font-family:var(--serif);font-weight:500;font-size:clamp(34px,3.4vw,46px);letter-spacing:.04em;margin-bottom:18px}
.st-pair h3 span{font-family:var(--cn);font-size:22px;color:var(--gold);margin-left:10px;letter-spacing:0}
.st-pair p{color:var(--ink-2);font-size:17px;max-width:460px}
.st-makers{padding:110px 0 40px;border-top:1px solid var(--line)}
.st-makers .sh p{max-width:420px;color:var(--ink-2)}
.st-row{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;margin-bottom:120px}
.st-row.rev .st-img{order:2}
.st-img{overflow:hidden;background:var(--paper-3);margin:0}
.st-img img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.2s ease}
.st-img:hover img{transform:scale(1.03)}
.st-txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,48px);line-height:1.1;margin:14px 0 22px}
.st-txt p{color:var(--ink-2);font-size:17px;max-width:520px}
.st-promise{padding:100px 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.st-points{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.st-points li{padding:36px 28px 0 0}
.st-points b{display:block;font-family:var(--serif);font-size:34px;color:var(--gold);font-weight:400;line-height:1}
.st-points h4{font-family:var(--serif);font-size:24px;font-weight:500;margin:20px 0 10px;line-height:1.2}
.st-points p{font-size:15px;color:var(--ink-2);line-height:1.65}
.st-cta{padding:120px 0;text-align:center}
.st-cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4vw,54px);line-height:1.1;margin-bottom:16px}
.st-cta p{color:var(--ink-2);margin-bottom:36px}

/* ---- Contact ---- */
.ct-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;padding-top:90px;align-items:start}
.ct-info h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,46px);line-height:1.1;margin:14px 0 26px}
.ct-mail{margin-bottom:12px}
.ct-mail a{font-family:var(--serif);font-size:30px;border-bottom:1px solid var(--gold);padding-bottom:2px}
.ct-note{color:var(--ink-2);font-size:15px;margin-bottom:50px}
.ct-block{border-top:1px solid var(--line);padding-top:24px;margin-bottom:36px}
.ct-block h4{font-family:var(--serif);font-weight:500;font-size:22px;margin-bottom:12px}
.ct-block p{color:var(--ink-2);font-size:15px;max-width:380px}
.ct-social{list-style:none;display:flex;flex-wrap:wrap;gap:12px 26px}
.ct-social a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}
.ct-social a:hover{color:var(--mist-dk);border-color:var(--mist-dk)}
.ct-form-box{background:var(--paper-2);padding:56px 56px 60px;border:1px solid var(--line)}
.ct-form{display:grid;gap:30px}
.ct-grid2{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.ct-field{display:flex;flex-direction:column;gap:8px}
.ct-field span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(42,41,37,.35);padding:12px 2px;font:inherit;font-size:17px;color:var(--ink);outline:none;border-radius:0;-webkit-appearance:none;appearance:none;transition:border-color .3s}
.ct-field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 52%,calc(100% - 7px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px;cursor:pointer}
.ct-field textarea{resize:vertical;min-height:140px;line-height:1.6}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{border-color:var(--ink)}
.ct-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ct-actions button{cursor:pointer;font:inherit}
.ct-actions button:disabled{opacity:.5;cursor:default}
.ct-msg{font-size:13px;color:var(--seal);min-height:1.2em}
.ct-thanks{text-align:center;padding:70px 20px}
.ct-thanks .seal{width:56px;height:56px;font-size:28px;margin-bottom:24px}
.ct-thanks h3{font-family:var(--serif);font-weight:400;font-size:40px;margin-bottom:14px}
.ct-thanks p{color:var(--ink-2)}

/* ---- FAQ ---- */
.faq-wrap{max-width:1000px;padding-top:80px}
.faq-group{margin-bottom:80px;scroll-margin-top:110px}
.faq-group-title{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.2vw,44px);line-height:1.1;padding-bottom:18px;border-bottom:1px solid var(--ink);margin-bottom:6px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;cursor:pointer;font-family:var(--serif);font-size:clamp(20px,2vw,24px);font-weight:500;line-height:1.3}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{flex:1}
.faq-item summary::after{content:"+";flex:none;font-family:var(--sans);font-size:26px;font-weight:300;line-height:1;color:var(--gold);transition:transform .35s}
.faq-item[open] summary::after{content:"\2212";transform:rotate(180deg)}
.faq-item summary:hover{color:var(--mist-dk)}
.faq-item summary:focus-visible{outline:1px solid var(--mist);outline-offset:4px}
.faq-a{padding:0 60px 30px 0}
.faq-a p{font-size:16px}
.faq-a>*:last-child{margin-bottom:0}

/* ---- Journal: listing (home.php, archive.php) ---- */
.jt-page .ph-hero{padding-bottom:0}
.jt-wrap{padding-top:70px}
.jt-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:48px}
.jt-tabs a{border:1px solid var(--line);padding:9px 20px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);transition:.25s}
.jt-tabs a:hover,.jt-tabs a.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.jt-grid{row-gap:56px}
.pc-img{display:block;overflow:hidden;background:var(--paper-3);margin-bottom:18px}
.pc-img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s ease}
.pc:hover .pc-img img{transform:scale(1.04)}
.pc .eyebrow{font-size:11px}
.pc h3{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.2;margin:8px 0 10px}
.pc h3 a:hover{color:var(--mist-dk)}
.pc p{color:var(--ink-2);font-size:15px}
.pc-date{font-size:12px;letter-spacing:.12em;color:var(--ink-3);margin-top:12px}
.jt-pager{margin-top:80px}
.jt-pager .navigation{display:flex;justify-content:center}
.jt-pager .nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.jt-pager .page-numbers{display:inline-block;min-width:44px;text-align:center;padding:10px 14px;border:1px solid var(--line);font-size:13px;letter-spacing:.1em;color:var(--ink-2);transition:.25s}
.jt-pager a.page-numbers:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.jt-pager .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.jt-pager .prev,.jt-pager .next{font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:10px 18px}
.jt-pager .page-numbers.dots{border-color:transparent}

/* ---- Journal: article (single.php) ---- */
.jt-hero-img{margin:0;overflow:hidden;background:var(--paper-3)}
.jt-hero-img img{width:100%;height:min(70vh,640px);object-fit:cover}
.jt-article{padding:90px 0 0}
.jt-article .mm-content{margin-top:0}
.jt-article .mm-content>p:first-of-type{font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--ink)}
.jt-shop{padding:110px 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:110px}
.jt-shop .sh{margin-bottom:46px}
.jt-shop .sh h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4vw,54px);line-height:1.1;margin-top:12px}
.mm-grid-3{grid-template-columns:repeat(3,1fr)}
.jt-pn{display:flex;justify-content:space-between;gap:30px;padding-top:90px;flex-wrap:wrap}
.jt-pn a{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.2;display:inline-block;margin-top:8px}
.jt-pn a:hover{color:var(--mist-dk)}
.jt-pn span{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}
.jt-pn .jt-pn-r{text-align:right;margin-left:auto}

/* ---- Search (search.php) ---- */
.srch .ph-hero-in{padding-bottom:70px}
.srch-form{display:flex;align-items:flex-end;gap:20px;max-width:720px;margin:0 0 20px;border-bottom:1px solid var(--ink)}
.srch-form input[type=search]{flex:1;min-width:0;background:none;border:0;padding:14px 4px;font-family:var(--serif);font-size:24px;color:var(--ink);outline:none;-webkit-appearance:none;appearance:none;border-radius:0}
.srch-form input[type=search]::placeholder{color:var(--ink-3);font-style:italic}
.srch-form .btn{padding:12px 24px;margin-bottom:6px}
.srch-sec{margin-top:110px}
.srch-sec .sh{margin-bottom:46px}
.srch-sec .sh h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,48px);line-height:1.1;margin-top:12px}
.srch-list{list-style:none;border-top:1px solid var(--line)}
.srch-list li{padding:30px 0;border-bottom:1px solid var(--line)}
.srch-list h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.4vw,30px);line-height:1.2;margin:8px 0 10px}
.srch-list h3 a:hover{color:var(--mist-dk)}
.srch-list p{color:var(--ink-2);font-size:15px;max-width:640px}

/* ---- 404 ---- */
.nf-hero{position:relative;overflow:hidden;padding:110px 0 120px;text-align:center;border-bottom:1px solid var(--line)}
.nf-in{position:relative;z-index:2}
.nf-cn{position:absolute;left:50%;top:-30px;transform:translateX(-50%);font-family:var(--cn);font-size:clamp(140px,22vw,260px);line-height:1;letter-spacing:.2em;color:rgba(85,105,94,.07);pointer-events:none;white-space:nowrap;z-index:0}
.nf-art{display:block;width:min(520px,90%);height:auto;margin:0 auto 34px}
.nf-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,66px);line-height:1.08;margin:22px auto 20px;max-width:760px;font-style:italic;color:var(--ink)}
.nf-lead{color:var(--ink-2);max-width:520px;margin:0 auto}
.nf-hero .ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.nf-feat{padding-top:110px}
.nf-feat .sh{margin-bottom:46px}
.nf-feat .sh h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,50px);line-height:1.1;margin-top:12px}

/* ---- Responsive ---- */
@media (max-width:1100px){
  .mm-grid-3{grid-template-columns:repeat(3,1fr)}
  .st-points{grid-template-columns:repeat(2,1fr);row-gap:10px}
}
@media (max-width:900px){
  .ph-hero{padding-top:70px}
  .ph-hero-in{padding-bottom:80px}
  .ph-cn{display:none}
  .ph-mist{height:110px}
  .mm-page-body{padding-top:50px}
  .st-open{padding:70px 0 20px}
  .st-meaning,.st-makers,.st-promise{padding-top:70px;padding-bottom:70px}
  .st-pair{grid-template-columns:1fr;gap:50px}
  .st-row{grid-template-columns:1fr;gap:34px;margin-bottom:80px}
  .st-row.rev .st-img{order:0}
  .ct-wrap{grid-template-columns:1fr;gap:60px;padding-top:60px}
  .ct-form-box{padding:40px 28px}
  .faq-wrap{padding-top:50px}
  .faq-a{padding-right:0}
  .jt-wrap{padding-top:50px}
  .jt-grid{row-gap:44px}
  .jt-article{padding-top:60px}
  .jt-shop{padding:80px 0;margin-top:80px}
  .mm-grid-3{grid-template-columns:repeat(2,1fr);gap:28px 12px}
  .srch-sec{margin-top:80px}
  .nf-hero{padding:70px 0 80px}
  .nf-feat{padding-top:80px}
}
@media (max-width:480px){
  .ph-hero h1{font-size:40px}
  .ph-sub{font-size:16px}
  .st-points{grid-template-columns:1fr}
  .ct-grid2{grid-template-columns:1fr;gap:30px}
  .ct-mail a{font-size:22px}
  .ct-form-box{padding:32px 20px}
  .rgrid.jt-grid{grid-template-columns:1fr}
  .srch-form{gap:12px}
  .srch-form input[type=search]{font-size:20px}
  .srch-form .btn{padding:10px 16px;font-size:11px;letter-spacing:.14em}
  .jt-tabs a{padding:8px 14px;font-size:11px}
  .jt-pn .jt-pn-r{text-align:left;margin-left:0}
}
.pc-img img{margin-bottom:0}
