/*
Theme Name: Factinery
Theme URI: https://factinery.com/
Author: Factinery
Description: A lightweight editorial theme for industrial company profiles, product information and sources. Requires the Factinery Core plugin for company and product content.
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: factinery
*/

:root{--ink:#172b35;--muted:#52636b;--green:#0d6156;--deep:#103e37;--pale:#eaf3f0;--line:#d8e1e1;--paper:#fff;--page:#f5f7f7;--focus:#9b4c00;--max:1200px;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--green);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--deep);text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button,.button{min-height:48px;border-radius:6px;border:1px solid var(--green);background:var(--green);color:#fff;font-weight:650;padding:11px 22px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:12px}button:hover,.button:hover{background:var(--deep);color:#fff;border-color:var(--deep)}.button-light{background:#fff;color:var(--green)}.button-light:hover{background:var(--pale);color:var(--deep)}img{max-width:100%;height:auto}figure{margin:24px 0}h1,h2,h3,h4{line-height:1.16;letter-spacing:-.035em;margin:0 0 20px;font-weight:660}h1{font-size:clamp(2rem,3.6vw,3rem)}h2{font-size:clamp(1.65rem,2.5vw,2.25rem)}h3{font-size:1.3rem;letter-spacing:-.025em}p{margin:0 0 20px}ul,ol{padding-left:22px}hr{border:0;border-top:1px solid var(--line);margin:36px 0}.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.section{padding-block:64px}.section-white{background:var(--paper)}.section + .section{border-top:1px solid var(--line)}.eyebrow{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--green);margin-bottom:18px}.lead{font-size:1.125rem;line-height:1.7;color:var(--muted);max-width:720px}.muted{color:var(--muted)}.small{font-size:.875rem}.nowrap{white-space:nowrap}.arrow{font-size:1.2em;line-height:1}.skip-link{position:absolute;top:-100px;left:16px;background:#fff;padding:12px 20px;z-index:1000}.skip-link:focus{top:12px}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-size:1.75rem;font-weight:760;letter-spacing:-.065em;color:var(--ink);text-decoration:none;display:inline-flex;gap:12px;align-items:center;line-height:1}.brand-mark{width:27px;height:29px;border-left:6px solid var(--green);border-top:6px solid var(--green);position:relative;display:inline-block}.brand-mark:after{content:"";width:15px;height:6px;background:var(--green);position:absolute;left:0;top:7px}.site-nav ul{display:flex;align-items:center;gap:6px;padding:0;margin:0;list-style:none}.site-nav a{display:block;padding:12px 15px;color:var(--muted);text-decoration:none;border-radius:5px;font-size:.9rem;font-weight:600}.site-nav a:hover{background:var(--page);color:var(--green)}.site-nav a[aria-current=page]{color:var(--green);background:var(--pale)}.header-note{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;line-height:1.5;margin-top:9px}.hero{padding-block:74px 64px;background:linear-gradient(100deg,#f5f7f7 70%,#edf2ef 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 255px;align-items:center;gap:72px}.hero h1{max-width:800px;font-size:clamp(2.2rem,4.6vw,3.65rem);letter-spacing:-.05em;line-height:1.05;margin-bottom:26px}.hero .lead{max-width:660px}.hero-art{border:1px solid #c9d8d2;padding:29px;aspect-ratio:1/1;display:flex;align-items:flex-end;position:relative;background:repeating-linear-gradient(0deg,transparent,transparent 25px,#dce5e0 25px,#dce5e0 26px),repeating-linear-gradient(90deg,transparent,transparent 25px,#dce5e0 25px,#dce5e0 26px);border-radius:2px;transform:rotate(3deg)}.hero-art:before{content:"";position:absolute;inset:35px;border:1px solid #9ab5a9;background:#f5f8f5d9;transform:rotate(-8deg)}.art-lines{position:relative;width:100%;height:109px;background:repeating-linear-gradient(0deg,var(--green),var(--green) 2px,transparent 2px,transparent 17px);clip-path:polygon(0 0,50% 0,50% 19%,100% 19%,100% 100%,0 100%);opacity:.8}.hero-links{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap;font-size:.9rem}.search-form{margin-top:32px;max-width:780px}.search-form label,.filter-form label{display:block;font-size:.85rem;font-weight:650;margin-bottom:8px}.search-row{display:flex;gap:10px}.search-row input{flex:1;min-width:0}.field{min-height:48px;border:1px solid #b7c8c6;border-radius:6px;padding:11px 14px;background:#fff;color:var(--ink);width:100%}.field::placeholder{color:#718088}.search-footnote{font-size:.8rem;color:var(--muted);margin:8px 0 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:30px}.section-head h2{margin-bottom:10px}.section-head p{color:var(--muted);max-width:700px;margin-bottom:0}.text-link{font-size:.9rem;font-weight:650;display:inline-flex;align-items:center;gap:12px;flex-shrink:0;min-height:44px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.card h2,.card h3{margin:12px 0 14px;font-size:1.35rem;line-height:1.3}.card h2 a,.card h3 a{text-decoration:none;color:var(--ink)}.card h2 a:hover,.card h3 a:hover{color:var(--green);text-decoration:underline}.card p{color:var(--muted);font-size:.92rem}.card .text-link{margin-top:auto}.card-meta{font-size:.78rem;color:var(--muted);margin:0 0 12px}.card-type{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:700}.card-company{font-size:.85rem;margin-bottom:14px}.card-image{width:80px;height:70px;object-fit:contain;object-position:left center;margin-bottom:12px}.product-image{max-height:360px;object-fit:contain;object-position:left}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}.tag{border:1px solid var(--line);border-radius:4px;padding:3px 8px;color:var(--muted);font-size:.72rem;line-height:1.6;text-decoration:none}.tag:hover{background:var(--pale)}.industry-card{position:relative;min-height:218px;background:#fff;transition:border-color .15s}.industry-card:hover{border-color:#7a9c90}.industry-card h2,.industry-card h3{padding-right:28px}.industry-card .industry-number{font-size:.72rem;font-weight:650;font-variant-numeric:tabular-nums;color:var(--green);letter-spacing:.1em}.industry-card .corner-arrow{position:absolute;right:25px;top:33px;font-size:1.25rem;color:var(--green)}.empty-state{display:flex;gap:28px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:35px 40px;max-width:100%}.empty-state h2,.empty-state h3{font-size:1.4rem;margin-bottom:12px}.empty-state p{color:var(--muted);max-width:700px;margin-bottom:12px}.empty-mark{width:42px;height:48px;border:1px solid #b2c8bf;flex-shrink:0;position:relative;background:var(--pale);margin-top:4px}.empty-mark:after{content:"";position:absolute;inset:13px 9px;background:repeating-linear-gradient(0deg,#7c9c8e,#7c9c8e 1px,transparent 1px,transparent 7px)}.empty-links{display:flex;gap:24px;flex-wrap:wrap;font-size:.875rem}.method{background:var(--deep);color:#fff}.method .eyebrow{color:#a8d7c5}.method h2{max-width:650px}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin:36px 0 28px}.method-item{border-top:1px solid #52796d;padding-top:22px}.method-item h3{font-size:1.15rem;letter-spacing:-.01em}.method-item p{color:#d1dfd9;font-size:.94rem}.method a{color:#e6f5ef}.page-hero{padding-block:38px 42px;background:#fff;border-bottom:1px solid var(--line)}.page-hero h1{margin-top:24px}.page-hero .lead{margin-bottom:0}.breadcrumbs{font-size:.78rem;color:var(--muted);margin-bottom:20px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px 12px;list-style:none;padding:0;margin:0}.breadcrumbs li:not(:last-child):after{content:"/";color:#8a9b9b;margin-left:12px}.breadcrumbs a{color:var(--muted)}.filter-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 155px auto;align-items:end;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:30px}.filter-form button{min-width:106px}.results-note{color:var(--muted);font-size:.875rem;margin-bottom:24px}.result-layout{min-width:0}.pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:36px}.pagination a,.pagination span{min-width:44px;min-height:44px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;text-decoration:none;background:#fff;font-size:.9rem}.pagination .current{background:var(--green);color:#fff;border-color:var(--green)}.pagination .dots{border:0;background:transparent}.entity-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:56px;align-items:start}.prose{max-width:760px;overflow-wrap:anywhere}.prose h2{margin-top:42px;font-size:1.8rem}.prose h3{margin-top:30px}.prose p,.prose li{line-height:1.8}.prose>*:first-child{margin-top:0}.prose blockquote{border-left:3px solid var(--green);padding:10px 22px;margin:24px 0;background:var(--pale)}.prose table{border-collapse:collapse;width:100%}.prose th,.prose td{border:1px solid var(--line);padding:10px;text-align:left}.prose a{overflow-wrap:anywhere}.prose .wp-block-image img{border-radius:5px}.entity-panel{padding:25px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);font-size:.9rem}.entity-panel h2{font-size:1.1rem;margin:0 0 20px}.entity-panel dl{margin:0}.entity-panel dt{font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:18px}.entity-panel dt:first-child{margin-top:0}.entity-panel dd{margin:4px 0 0;overflow-wrap:anywhere}.entity-panel .button{margin-top:22px;width:100%;font-size:.85rem}.entity-section{margin-top:44px;padding-top:36px;border-top:1px solid var(--line)}.entity-section h2{font-size:1.6rem}.entity-section .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list-plain{padding:0;list-style:none}.list-plain li{padding:12px 0;border-bottom:1px solid var(--line)}.capability-list{display:flex;gap:9px;flex-wrap:wrap;list-style:none;padding:0}.capability-list li{background:var(--pale);border:1px solid var(--line);border-radius:4px;padding:7px 12px;font-size:.9rem}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:#fff}.spec-table{width:100%;border-collapse:collapse;min-width:620px;table-layout:fixed;font-size:.875rem}.spec-table th,.spec-table td{vertical-align:top;text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.spec-table th{background:var(--pale);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;font-weight:650}.spec-table tr:last-child td{border-bottom:0}.spec-table th:nth-child(1){width:24%}.spec-table th:nth-child(2){width:22%}.spec-table th:nth-child(3){width:28%}.spec-table th:nth-child(4){width:26%}.source-list{list-style:none;padding:0;margin:0;counter-reset:sources}.source-list>li{position:relative;counter-increment:sources;padding:23px 0 23px 42px;border-top:1px solid var(--line);overflow-wrap:anywhere}.source-list>li:before{content:counter(sources,decimal-leading-zero);position:absolute;left:0;top:26px;font-size:.75rem;color:var(--green);font-weight:650}.source-list h3{font-size:1rem;letter-spacing:-.01em;line-height:1.5;margin-bottom:6px}.source-list p{font-size:.875rem;color:var(--muted);margin:0 0 6px}.source-facts{display:flex;gap:6px 18px;flex-wrap:wrap}.source-facts span{font-size:.8rem}.scope-note{font-size:.875rem;background:var(--pale);padding:18px 22px;border-radius:6px;margin-bottom:24px}.date-line{display:flex;gap:10px 22px;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin-bottom:22px}.entity-heading .tags{margin-bottom:16px}.entity-heading h1{margin:12px 0 18px}.entity-heading .eyebrow{margin-top:20px}.guide-byline{font-size:.85rem;color:var(--muted);margin-bottom:20px}.content-page{max-width:760px;margin-inline:auto}.content-page .prose{max-width:100%}.guide-body{background:#fff}.guide-body .container{max-width:1050px}.guide-body .prose{margin-inline:auto}.guide-body .entity-section{max-width:760px;margin-inline:auto}.site-footer{background:#fff;border-top:1px solid var(--line);padding:42px 0 28px}.footer-top{display:flex;justify-content:space-between;gap:36px}.footer-intro{max-width:350px}.footer-intro p{font-size:.85rem;color:var(--muted);margin-top:18px}.footer-links{display:flex;gap:28px;flex-wrap:wrap;align-content:flex-start;font-size:.85rem}.footer-links a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom{border-top:1px solid var(--line);margin-top:26px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem}.alignwide{max-width:100%}.wp-caption-text,figcaption{font-size:.85rem;color:var(--muted)}.wp-block-button__link{background:var(--green);border-radius:6px}.wp-block-file a{display:inline-block;min-height:44px}.preview-notice{background:var(--pale);border-bottom:1px solid var(--line);padding:12px 0;font-size:.875rem}.no-content{min-height:320px}
.entity-layout,.entity-layout>.result-layout,.prose,.entity-section,.table-scroll{min-width:0;max-width:100%}.entity-layout>.result-layout,.table-scroll{width:100%}.prose pre,.prose .wp-block-table{overflow-x:auto;max-width:100%}.prose iframe{max-width:100%}.method a:focus-visible{outline-color:#f7c08b}
@media(min-width:1500px){.hero{padding-block:86px 80px}}
@media(max-width:1000px){.hero-grid{grid-template-columns:minmax(0,1fr) 170px;gap:36px}.hero-art{padding:18px}.hero-art:before{inset:23px}.art-lines{height:90px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav a{padding:10px 11px}.entity-layout{gap:30px;grid-template-columns:minmax(0,1fr) 250px}.filter-form{grid-template-columns:1fr 1fr}.filter-form button{width:100%}}
@media(max-width:720px){.container{width:calc(100% - 40px)}.header-inner{min-height:0;padding-block:22px 13px;display:block}.brand{font-size:1.65rem}.header-note{display:none}.site-nav{margin:17px -10px 0}.site-nav ul{gap:0;justify-content:space-between}.site-nav a{font-size:.79rem;padding:10px 9px;min-height:44px}.hero{padding-block:42px}.hero-grid{display:block}.hero-art{display:none}.hero h1{font-size:2.25rem;max-width:500px}.hero .lead{font-size:1rem;max-width:500px}.hero .eyebrow{font-size:.67rem}.search-form{margin-top:28px}.search-row{gap:8px}.search-row button{padding-inline:18px}.hero-links{gap:22px;font-size:.85rem}.section{padding-block:40px}.section-head{align-items:flex-start;display:block;margin-bottom:24px}.section-head .text-link{margin-top:12px}.section-head p{font-size:.95rem}.grid{grid-template-columns:1fr;gap:16px}.card{padding:24px}.card h2,.card h3{font-size:1.3rem}.industry-card{min-height:180px}.empty-state{padding:25px 22px;gap:18px}.empty-state h2,.empty-state h3{font-size:1.2rem}.empty-state p{font-size:.92rem}.empty-mark{width:30px;height:39px}.empty-mark:after{inset:11px 7px}.empty-links{display:block}.empty-links a{display:inline-flex;align-items:center;min-height:44px;margin-right:17px}.method-grid{grid-template-columns:1fr;gap:18px;margin-top:24px}.method-item{padding-top:18px}.method-item h3{margin-bottom:10px}.method-item p{margin-bottom:0}.page-hero{padding-block:26px 30px}.page-hero h1{font-size:1.85rem;margin-top:18px}.page-hero .lead{font-size:1rem}.breadcrumbs{font-size:.72rem}.filter-form{display:block;padding:22px}.filter-form>div{margin-bottom:17px}.filter-form button{margin-top:2px}.entity-layout{display:flex;flex-direction:column;gap:32px}.entity-panel{width:100%;order:-1}.entity-section .grid{grid-template-columns:1fr}.entity-heading h1{font-size:1.85rem}.prose h2{font-size:1.5rem}.source-list>li{padding-left:32px}.table-scroll{margin-right:0}.footer-top{display:block}.footer-links{gap:3px 20px;margin-top:24px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:5px}.content-page{max-width:100%}.date-line{gap:6px 14px}.scope-note{padding:16px 18px}.guide-body .container{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:#fff;color:#000}.site-nav,.search-form,.filter-form,.site-footer,.pagination,.skip-link{display:none}.container{width:100%;max-width:none}.section,.page-hero{padding-block:20px}.entity-layout{display:block}.entity-panel{margin-bottom:24px}.entity-section{break-inside:avoid}.hero-art{display:none}a{color:#000}.table-scroll{overflow:visible}.spec-table{min-width:0}.site-header{border:0}.hero{background:#fff}}
