/* Fretwork printables: hub, detail pages and email gate */
.fwp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(20px,4vw,44px) clamp(24px,4vw,48px)}
.fwp-hero h1{margin:6px 0 12px}
.fwp-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px;padding:0;list-style:none}
.fwp-meta li{font:600 12px/1 var(--mono);letter-spacing:.02em;padding:7px 10px;border-radius:999px;background:var(--surface-2,var(--accent-soft));color:var(--ink-2);border:1px solid var(--line)}
.fwp-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fwp-cta .btn{min-height:46px;padding:12px 18px;font-size:15.5px}
.fwp-cta .btn svg{width:18px;height:18px;flex:none}
.fwp-note{margin:12px 0 0;font-size:13px;color:var(--ink-3)}
.fwp-unlocked .fwp-note-locked{display:none}
.fwp-note-open{display:none}.fwp-unlocked .fwp-note-open{display:inline}
.fwp-preview{position:relative;justify-self:center;width:min(100%,420px)}
.fwp-preview .pg{display:block;width:100%;height:auto;aspect-ratio:var(--ar,612/792);background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 18px 40px -12px rgba(15,30,22,.28);border:1px solid var(--line)}
.fwp-preview .pg2{position:absolute;inset:0;transform:translate(14px,12px) rotate(2.2deg);z-index:-1;opacity:.9}
.fwp-preview figcaption{margin-top:14px;text-align:center;font-size:12.5px;color:var(--ink-3)}
.fwp-sec{padding-block:clamp(20px,3.5vw,36px)}
.fwp-sec h2{margin:0 0 14px}
.fwp-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.fwp-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.fwp-list li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.fwp-list li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317715A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.fwp-steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:12px}
.fwp-steps li{counter-increment:s;display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.fwp-steps li::before{content:counter(s);flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);font:700 13px/1 var(--body)}
.fwp-faq{display:grid;gap:10px}
.fwp-faq details{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:0 16px}
.fwp-faq summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:600;display:flex;justify-content:space-between;gap:12px}
.fwp-faq summary::-webkit-details-marker{display:none}
.fwp-faq summary::after{content:"+";font:400 20px/1 var(--body);color:var(--ink-3)}
.fwp-faq details[open] summary::after{content:"\2212"}
.fwp-faq details p{margin:0 0 14px;color:var(--ink-2);line-height:1.6}
.fwp-band{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;padding:clamp(18px,3vw,28px);border-radius:16px;background:var(--accent-soft);color:var(--ink)}
.fwp-band h2{margin:0 0 4px}
.fwp-band p{margin:0;color:var(--ink-2)}
.fwp-share{border:1px dashed var(--line);border-radius:14px;padding:16px;background:var(--surface)}
.fwp-share label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}
.fwp-share .row{display:flex;gap:8px}
.fwp-share input{flex:1;min-width:0;font:13px/1.3 var(--mono);padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.fwp-links{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.fwp-links a{display:inline-flex;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-size:14px}
.fwp-links a:hover{border-color:var(--accent);color:var(--accent)}
/* cards */
.fwp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.fwp-card2{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}
.fwp-card2:hover{border-color:var(--accent);transform:translateY(-2px)}
.fwp-card2 .th{display:block;background:var(--surface-2,#eef0ec);padding:14px 14px 0;border-bottom:1px solid var(--line);overflow:hidden;height:170px}
.fwp-card2 .th img{display:block;width:100%;height:auto;border-radius:4px 4px 0 0;box-shadow:0 6px 18px -8px rgba(0,0,0,.35);background:#fff}
.fwp-card2.land .th img{width:100%}
.fwp-card2 .bd{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.fwp-card2 h3{margin:0;font:700 19px/1.15 var(--display);letter-spacing:.005em}
.fwp-card2 p{margin:0;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.fwp-card2 .ft{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;font:600 11.5px/1 var(--mono);color:var(--ink-3)}
.fwp-card2 .ft b{color:var(--accent);font-weight:600}
.fwp-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 22px}
.fwp-chip{appearance:none;-webkit-appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:9px 14px;font:600 13.5px/1 var(--body);cursor:pointer}
.fwp-chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.fwp-chip small{font:500 11px/1 var(--mono);opacity:.7;margin-left:4px}
.fwp-search{flex:1 1 220px;max-width:340px;margin-left:auto;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:15px/1.2 var(--body)}
.fwp-catsec{margin-top:34px}
.fwp-catsec header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:14px}
.fwp-catsec header h2{margin:0}
.fwp-catsec header p{margin:0;color:var(--ink-3);font-size:14px}
.fwp-stats{display:flex;flex-wrap:wrap;gap:22px;margin:18px 0 0;padding:0;list-style:none}
.fwp-stats li{font-size:14px;color:var(--ink-2)}
.fwp-stats b{display:block;font:800 30px/1 var(--display);color:var(--ink)}
.fwp-collage{position:relative;height:330px}
.fwp-collage img{position:absolute;width:52%;height:auto;background:#fff;border-radius:5px;border:1px solid var(--line);box-shadow:0 18px 36px -14px rgba(15,30,22,.35)}
.fwp-collage img:nth-child(1){left:2%;top:26px;transform:rotate(-5deg)}
.fwp-collage img:nth-child(2){left:24%;top:0;z-index:2}
.fwp-collage img:nth-child(3){left:46%;top:30px;transform:rotate(5deg)}
@media (max-width:860px){
  .fwp-hero{grid-template-columns:1fr}
  .fwp-preview{width:min(78%,340px);order:-1}
  .fwp-cols{grid-template-columns:1fr}
  .fwp-collage{height:240px}
  .fwp-search{max-width:none;margin-left:0}
}
@media (max-width:480px){
  .fwp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .fwp-card2 .th{height:128px;padding:10px 10px 0}
  .fwp-card2 .bd{padding:10px 12px 12px}
  .fwp-card2 h3{font-size:16px}
  .fwp-card2 p{display:none}
  .fwp-cta .btn{flex:1 1 100%;justify-content:center}
}
/* gate */
html.fwp-lock{overflow:hidden}
#fwp{position:fixed;inset:0;z-index:99995;background:rgba(12,18,15,.6);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
#fwp .fwp-card{position:relative;width:100%;max-width:460px;margin:auto;background:var(--surface,#fff);color:var(--ink,#19201C);border-radius:18px;padding:24px 22px 20px;box-shadow:0 24px 60px rgba(0,0,0,.35);box-sizing:border-box;font-family:var(--body)}
#fwp .fwp-x{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;background:none;color:var(--ink-3,#666);font-size:26px;line-height:1;cursor:pointer;border-radius:8px}
#fwp .fwp-head{display:flex;gap:14px;align-items:center;margin-bottom:12px;padding-right:24px}
#fwp .fwp-head img{flex:none;width:64px;height:auto;border-radius:3px;border:1px solid var(--line);background:#fff;box-shadow:0 6px 14px -6px rgba(0,0,0,.3)}
#fwp .fwp-kick{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
#fwp h2{margin:5px 0 3px;font:800 26px/1.05 var(--display)}
#fwp .fwp-what{margin:0;font-size:14px;color:var(--ink-2);line-height:1.35}
#fwp .fwp-lead{margin:0 0 14px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
#fwp form{display:grid;gap:10px}
#fwp .fwp-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#fwp label{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--ink-2)}
#fwp input[type=text],#fwp input[type=email],#fwp select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font:16px/1.2 var(--body);background:var(--bg);color:var(--ink)}
#fwp input:focus,#fwp select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
#fwp .fwp-check{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:13px;line-height:1.45}
#fwp .fwp-check input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--accent)}
#fwp .fwp-check a{color:var(--accent)}
#fwp .fwp-err{color:var(--bad,#b91c1c);font-size:13px;min-height:16px}
#fwp .fwp-go{width:100%;min-height:50px;border:0;border-radius:12px;background:var(--accent);color:var(--accent-ink);font:700 16px/1 var(--body);cursor:pointer}
#fwp .fwp-go[disabled]{opacity:.65;cursor:default}
#fwp .fwp-small{margin:10px 0 0;font-size:12.5px;color:var(--ink-3);text-align:center}
#fwp .fwp-small a{color:var(--accent)}
#fwp .fwp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#fwp .fwp-ok{width:52px;height:52px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:10px}
#fwp .fwp-ok svg{width:28px;height:28px}
#fwp p{line-height:1.5}
#fwp .fwp-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
#fwp .fwp-row .btn{flex:1 1 180px;justify-content:center;min-height:44px}
@media (max-width:420px){#fwp .fwp-2{grid-template-columns:1fr}#fwp .fwp-card{padding:20px 16px 16px}#fwp h2{font-size:23px}}
