/* CF Starter · folio：只在页面用到 cf-f- 开头的区块时加载（functions.php） */
/* ===================== 作品集版（/folio/）：类名 cf-f- ===================== */
.cf-sticky:has(>.cf-f-header){top:0}
.admin-bar .cf-sticky:has(>.cf-f-header){top:32px}
.cf-f-header{border-bottom:1px solid var(--cf-line)}
.cf-f-logo .wp-block-site-title{margin:0;letter-spacing:.24em;font-weight:600}
.cf-f-header .wp-block-navigation-item__content{padding:20px 0}
.cf-f-kicker{font-size:14px;letter-spacing:.12em;color:var(--cf-muted);margin:0 0 18px!important}
.cf-f-display{font-size:clamp(40px,6.6vw,104px);line-height:1.1;font-weight:500;letter-spacing:-.01em;margin-top:0!important;margin-bottom:44px!important}
.cf-f-lead{font-size:clamp(18px,1.3vw,21px);line-height:1.75;color:var(--wp--preset--color--contrast)}
.cf-f-facts{list-style:none;padding:0!important;margin:0;border-top:1px solid var(--cf-line)}
.cf-f-facts li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--cf-line);font-size:15px}
.cf-f-facts li span{color:var(--cf-muted);font-size:14px}
.cf-f-facts-row{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;border-top:0}
.cf-f-facts-row li{display:block;border-top:1px solid var(--wp--preset--color--contrast);border-bottom:0;padding:12px 0 18px}
.cf-f-facts-row li span{display:block;margin-bottom:2px}
.cf-f-herowrap{margin:0!important}
.cf-f-heroimg{margin:0!important}
.cf-f-heroimg img{display:block;width:100%;height:clamp(340px,72vh,780px);object-fit:cover}
.cf-f-heroimg figcaption,.cf-f-gal figcaption{text-align:left;font-size:13px;color:var(--cf-muted);margin:10px 0 0}
.cf-f-heroimg figcaption{max-width:1240px;margin:10px auto 0;padding:0}
.cf-f-ph{margin:0!important}
.cf-f-ph img{display:block;width:100%;object-fit:cover}
.cf-f-tall img{aspect-ratio:4/5}
.cf-f-wide img{aspect-ratio:4/3}
.cf-f-card{margin-bottom:80px}
.cf-f-card h3{font-size:clamp(22px,1.8vw,28px);margin:0!important}
.cf-f-card h3 a{color:var(--wp--preset--color--navy)}
.cf-f-card h3 a:hover{color:var(--cf-accent)}
.cf-f-no{font-size:13px;color:var(--cf-muted);font-variant-numeric:tabular-nums;margin:18px 0 4px!important}
.cf-f-meta{font-size:14px;color:var(--cf-muted);margin:6px 0 0!important}
@media (min-width:782px){.cf-f-offset{padding-top:180px}}
.cf-f-index{margin:0}
.cf-f-index table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.cf-f-index th{text-align:left;font-weight:400;font-size:13px;color:var(--cf-muted);border:0;border-bottom:1px solid var(--wp--preset--color--contrast);padding:10px 12px 10px 0}
.cf-f-index td{border:0;border-bottom:1px solid var(--cf-line);padding:16px 12px 16px 0;vertical-align:baseline}
.cf-f-index td:nth-child(2){font-size:18px;color:var(--wp--preset--color--navy)}
.cf-f-index td a{color:var(--wp--preset--color--navy);text-decoration:underline;text-decoration-color:var(--cf-line);text-underline-offset:5px}
.cf-f-index td a::after{content:" →";color:var(--cf-accent)}
.cf-f-index td a:hover{color:var(--cf-accent);text-decoration-color:currentColor}
.cf-f-index td:last-child{text-align:right;padding-right:0}
.cf-f-index th:last-child{text-align:right;padding-right:0}
.cf-f-tag{background:none;color:var(--cf-accent);border:1px solid currentColor;font-size:12px;padding:0 6px;margin-left:6px;vertical-align:2px;white-space:nowrap}
.cf-f-statement{font-size:clamp(26px,2.6vw,40px);line-height:1.45;color:var(--wp--preset--color--navy);margin:0 0 44px!important}
.cf-f-ways{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.cf-f-ways>*{margin:0!important;border-top:1px solid var(--wp--preset--color--contrast);padding-top:14px}
.cf-f-ways .cf-f-no{margin-top:0!important}
.cf-f-ways h3{font-size:18px;margin:0 0 8px!important}
.cf-f-ways p:last-child{font-size:15px;color:var(--cf-muted);margin:0}
.cf-f-serv{margin-top:20px!important;border-bottom:1px solid rgba(255,255,255,.18)}
.cf-f-srow{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) minmax(0,1fr) minmax(0,.7fr);gap:30px;align-items:baseline;padding:28px 0;border-top:1px solid rgba(255,255,255,.18)}
.cf-f-srow>*{margin:0!important}
.cf-f-srow h3{font-size:24px}
.cf-f-srow .cf-f-price{color:#fff;font-size:22px;font-variant-numeric:tabular-nums}
.cf-f-srow .cf-f-min{color:rgba(255,255,255,.55);font-size:14px;text-align:right}
.cf-f-dark .cf-more a{color:#fff}
.cf-f-dark .cf-more{margin-top:28px!important}
.cf-f-steps{list-style:none;padding:0!important;margin:0;counter-reset:fs;border-bottom:1px solid var(--cf-line)}
.cf-f-steps li{counter-increment:fs;display:grid;grid-template-columns:64px minmax(0,1fr) 140px;column-gap:20px;padding:20px 0;border-top:1px solid var(--cf-line)}
.cf-f-steps li::before{content:counter(fs,decimal-leading-zero);grid-row:span 2;font-size:28px;line-height:1.2;color:var(--cf-accent);font-variant-numeric:tabular-nums}
.cf-f-steps strong{font-size:19px;font-weight:500;color:var(--wp--preset--color--navy)}
.cf-f-steps span{text-align:right;color:var(--cf-muted);font-size:15px}
.cf-f-steps small{grid-column:2/4;color:var(--cf-muted);font-size:15px}
.cf-f-quote{font-size:clamp(24px,2.4vw,36px);line-height:1.55;color:var(--wp--preset--color--navy);max-width:960px;margin:0!important}
.cf-f-who{font-size:14px;color:var(--cf-muted);margin:24px 0 0!important}
.cf-f-mail{font-size:clamp(22px,6vw,92px);line-height:1.15;letter-spacing:-.01em;margin:6px 0 56px!important;overflow-wrap:anywhere}
.cf-f-mail a{color:var(--wp--preset--color--navy);border-bottom:2px solid currentColor}
.cf-f-mail a:hover{color:var(--cf-accent)}
.cf-f-mail-s{font-size:clamp(20px,2.2vw,30px);margin:0 0 30px!important}
.cf-f-k{font-size:13px;letter-spacing:.06em;color:var(--cf-muted);margin:0 0 6px!important}
.cf-f-crow{border-top:1px solid var(--wp--preset--color--contrast);padding-top:20px}
.cf-f-crow p{margin:0}
.cf-f-ptitle{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(28px,3vw,44px)}
.cf-f-ptitle h1{font-size:clamp(40px,6vw,88px);line-height:1.1;font-weight:500;margin-top:0!important;margin-bottom:0!important}
.cf-f-ptitle .cf-f-lead{margin-top:18px!important;margin-bottom:0!important;color:var(--cf-muted)}
.cf-f-pimg{margin-top:0!important;margin-bottom:0!important}
.cf-f-pimg img{display:block;width:100%;max-height:78vh;object-fit:cover}
.cf-f-gal figure{margin:0 0 30px!important}
.cf-f-gal .wp-block-columns{margin:0}
.cf-f-gal .wp-block-columns img{aspect-ratio:4/3;object-fit:cover}
.cf-f-ptitle .cf-f-ptitle-s{font-size:clamp(30px,3.6vw,48px);line-height:1.3}
.cf-f-ptitle .cf-f-date{font-size:13px;letter-spacing:.06em;color:var(--cf-muted);margin-top:0!important;margin-bottom:12px!important}
.cf-f-article{font-size:17px;margin-top:36px!important}
.cf-f-postnav{border-top:1px solid var(--cf-line);padding-top:20px;margin-top:48px!important;font-size:15px}
.cf-f-nextbox{border-top:1px solid var(--wp--preset--color--contrast);padding-top:22px}
.cf-f-nextbox p{margin:0}
.cf-f-next{font-size:clamp(32px,5vw,72px);line-height:1.15;margin:4px 0 8px!important}
.cf-f-next a{color:var(--wp--preset--color--navy)}
.cf-f-next a::after{content:" →"}
.cf-f-next a:hover{color:var(--cf-accent)}
.cf-f-team{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.cf-f-team>*{margin:0!important;border-top:1px solid var(--wp--preset--color--contrast);padding-top:16px}
.cf-f-who2{font-size:24px;color:var(--wp--preset--color--navy);margin:0 0 2px!important}
.cf-f-team p:last-child{font-size:15px;margin:10px 0 0}
.cf-f-plain{padding-left:1.3em!important}
.cf-f-plain li{margin-bottom:6px}
.cf-f-table td:nth-child(3){white-space:nowrap}
.cf-f-faq details{border-bottom:1px solid var(--cf-line);padding:16px 0}
.cf-f-faq details:first-child{border-top:1px solid var(--cf-line)}
.cf-f-faq summary{font-size:18px;cursor:pointer;color:var(--wp--preset--color--navy)}
.cf-f-faq details p{margin:10px 0 0;color:var(--cf-muted)}
.cf-f-jlist{list-style:none;padding:0!important;margin:0;border-bottom:1px solid var(--cf-line)}
.cf-f-jrow{display:grid!important;grid-template-columns:150px minmax(0,1fr) 300px;gap:40px;padding:32px 0;border-top:1px solid var(--cf-line)}
.cf-f-jrow>*{margin:0!important}
.cf-f-jrow .wp-block-post-title{font-size:clamp(22px,1.9vw,28px);font-weight:500;margin:0 0 10px!important}
.cf-f-jrow .wp-block-post-title a{color:var(--wp--preset--color--navy)}
.cf-f-jrow .wp-block-post-title a:hover{color:var(--cf-accent)}
.cf-f-jrow .wp-block-post-excerpt{color:var(--cf-muted);margin:0}
.cf-f-jrow .wp-block-post-excerpt__more-link{display:none}
.cf-f-jrow .wp-block-post-featured-image img{display:block}
.cf-f-footer{border-top:1px solid var(--cf-line)}
.cf-f-footer a{color:var(--wp--preset--color--navy-2)}
.cf-f-footer a:hover{color:var(--cf-accent)}
.cf-f-footer h4{color:var(--wp--preset--color--navy);font-weight:500}
.cf-f-footer p{color:var(--cf-muted)}
.cf-f-footer .cf-footbar{border-top-color:var(--cf-line)}
.cf-f-footer .cf-footbar p{color:var(--cf-muted)}
.cf-footer .cf-f-word{font-size:clamp(56px,7vw,96px);line-height:1;letter-spacing:.14em;font-weight:500;color:var(--wp--preset--color--navy);margin:0 0 18px!important}
.cf-f-dock .wp-block-button__link{border-radius:0}
@media (min-width:782px){.cf-f-dock{display:none}}
@media (max-width:781px){
  .cf-f-hdr{display:flex!important}
  .cf-f-header .wp-block-navigation-item__content{padding:0}
  .cf-f-display{font-size:32px;margin-bottom:28px!important}
  .cf-f-ptitle h1{font-size:40px}
  .cf-f-ptitle .cf-f-ptitle-s{font-size:26px}
  .cf-f-heroimg img{height:60vh;min-height:320px}
  .cf-f-card{margin-bottom:48px}
  .cf-f-index th:nth-child(3),.cf-f-index td:nth-child(3),.cf-f-index th:nth-child(4),.cf-f-index td:nth-child(4){display:none}
  .cf-f-index td:nth-child(2){font-size:16px}
  .cf-f-ways{grid-template-columns:minmax(0,1fr);gap:24px}
  .cf-f-srow{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:22px 0}
  .cf-f-srow h3,.cf-f-srow>p:nth-child(2){grid-column:1/-1}
  .cf-f-srow h3{font-size:21px}
  .cf-f-steps li{grid-template-columns:44px minmax(0,1fr);padding:16px 0}
  .cf-f-steps li::before{font-size:22px;grid-row:span 3}
  .cf-f-steps span{text-align:left;font-size:14px}
  .cf-f-steps small{grid-column:2}
  .cf-f-team{grid-template-columns:1fr 1fr;gap:28px 20px}
  .cf-f-jrow{grid-template-columns:minmax(0,1fr);gap:12px;padding:26px 0}
  .cf-f-jrow .wp-block-post-featured-image{order:-1}
  .cf-f-gal figure{margin-bottom:20px!important}
}
