/* Native Quicksite layouts. Plain CSS; no remote fonts or runtime dependencies. */
.qs-site{--canvas:#f5f3ed;--surface:#fffef9;--ink:#172c24;--muted:#58665f;--line:#d9dfd7;--accent:#245740;--radius:8px;--display:"Avenir Next","Helvetica Neue","PingFang SC",sans-serif;background:var(--canvas);color:var(--ink);font-family:"Helvetica Neue",Arial,"PingFang SC",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.qs-site *{min-width:0}
.qs-site [hidden]{display:none!important}
.qs-site :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.qs-site a{color:inherit;text-underline-offset:5px}
.qs-site h1,.qs-site h2,.qs-site h3{font-family:var(--display);color:var(--ink);text-wrap:balance}
.qs-site p{margin:0 0 1rem;text-wrap:pretty}
.qs-site h1{font-size:clamp(40px,6.1vw,82px);font-weight:650;line-height:1.06;letter-spacing:-.055em;margin:16px 0 26px;overflow-wrap:anywhere}
.qs-site h2{font-size:clamp(25px,3vw,39px);letter-spacing:-.035em;line-height:1.2;margin:0 0 14px}
.qs-site h3{font-size:21px;letter-spacing:-.025em;line-height:1.3;margin:0 0 10px}
.qs-site .top{position:relative;max-width:1280px;margin:auto;padding:25px 40px;display:flex;flex-wrap:wrap;gap:20px;background:transparent;border-bottom:1px solid var(--line);backdrop-filter:none}
.qs-site .brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-.035em;overflow-wrap:anywhere;max-width:100%}
.qs-site .nav{justify-content:flex-end;flex-wrap:wrap;gap:8px 24px;overflow:visible}
.qs-site .nav a,.qs-site .langs a{display:inline-flex;min-height:40px;align-items:center;color:var(--muted);white-space:normal}
.qs-site :is(.nav,.langs) a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px}
.qs-site .langs{border-left:1px solid var(--line);padding-left:20px;flex-wrap:wrap;align-items:center}
.qs-site main{max-width:1280px;padding:0 40px 72px}
.qs-site section{background:transparent;border:0;border-radius:0;padding:0;margin:0}
.qs-site .qs-hero{padding:78px 0 72px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.85fr);gap:60px;align-items:center;border-bottom:1px solid var(--line)}
.qs-site .qs-hero:not(:has(.qs-outline,.qs-cover)){display:block}
.qs-site .qs-hero-copy{max-width:880px}
.qs-site .qs-eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:var(--accent)}
.qs-site .qs-eyebrow:before{content:"";width:8px;height:8px;background:currentColor;border-radius:50%;flex-shrink:0}
.qs-site .qs-lead{font-size:clamp(18px,2vw,22px);line-height:1.6;color:var(--muted);max-width:58ch;margin-bottom:28px}
.qs-site .qs-button,.qs-site .primary{font:inherit;font-size:15px;font-weight:650;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:11px 21px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--canvas);text-decoration:none;max-width:100%;transition:transform .16s ease-out;touch-action:manipulation;white-space:normal;text-align:left}
.qs-site .qs-button span{font-size:20px;flex-shrink:0}
.qs-site .qs-button:active,.qs-site button:active{transform:scale(.97)}
.qs-site .qs-note{font-size:13px;line-height:1.5;color:var(--muted);margin-top:20px}
.qs-site .qs-outline{align-self:end;border-top:1px solid var(--ink)}
.qs-site .qs-outline a{display:flex;align-items:center;gap:20px;min-height:58px;border-bottom:1px solid var(--line);text-decoration:none;font-size:15px;line-height:1.4;padding:16px 4px}
.qs-site .qs-outline span,.qs-site .qs-number{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}
.qs-site .qs-cover{margin:0}
.qs-site .qs-cover img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.qs-site .qs-section,.qs-site .faq{padding:56px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.qs-site .qs-section-heading{max-width:760px;margin-bottom:28px}
.qs-site .qs-section-heading>p{color:var(--muted)}
.qs-site .qs-prose{max-width:72ch}
.qs-site .qs-prose p{margin-bottom:20px}
.qs-site .qs-features,.qs-site .qs-steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 50px}
.qs-site .qs-features li,.qs-site .qs-steps li{display:flex;gap:18px;padding:24px 0;border-top:1px solid var(--line)}
.qs-site .qs-features p,.qs-site .qs-steps p{color:var(--muted);font-size:16px;margin:0;max-width:58ch}
.qs-site .qs-number{padding-top:5px;flex-shrink:0}
.qs-site .qs-steps{display:block;max-width:800px;counter-reset:steps}
.qs-site .qs-steps li{padding:25px 0}
.qs-site .qs-section-cta{display:flex;gap:30px;align-items:center;justify-content:space-between}
.qs-site .qs-section-cta .qs-section-heading{margin:0}
.qs-site .qs-section-cta .qs-button{flex-shrink:0}
.qs-site .qs-filters{display:flex;gap:20px;align-items:end;margin-bottom:18px}
.qs-site .qs-filters label{display:grid;gap:8px;font-size:13px;font-weight:650;flex:1}
.qs-site .qs-filters label:last-child{max-width:280px}
.qs-site :is(input,select,textarea){font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;min-height:48px;width:100%}
.qs-site .qs-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.qs-site .qs-resources article{padding:28px 0;border-top:1px solid var(--line)}
.qs-site .qs-resource-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:18px}
.qs-site .qs-resource-meta span{border:1px solid var(--line);padding:2px 7px;border-radius:4px}
.qs-site .qs-resources a,.qs-site .qs-gallery h3{display:flex;justify-content:space-between;gap:15px}
.qs-site .qs-resources p,.qs-site .qs-gallery p{color:var(--muted);font-size:16px;margin:0}
.qs-site .qs-table{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}
.qs-site .qs-table table{width:100%;min-width:600px;border-collapse:collapse;background:var(--surface);font-size:15px;border-radius:0;overflow:visible}
.qs-site .qs-table :is(th,td){padding:20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}
.qs-site .qs-table thead th{background:var(--ink);color:var(--canvas);font-weight:600}
.qs-site .qs-table tbody th{background:transparent;color:var(--ink);font-weight:600;width:22%}
.qs-site .qs-table tr:last-child :is(th,td){border-bottom:0}
.qs-site .qs-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.qs-site .qs-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:22px;border-radius:var(--radius)}
.qs-site .qs-gallery a{text-decoration:none}
.qs-site .faq details{padding:20px 0;border-top:1px solid var(--line)}
.qs-site .faq summary{font-weight:550;cursor:pointer;min-height:28px;line-height:1.5}
.qs-site .faq details p{max-width:72ch;color:var(--muted);margin:16px 0 0}
.qs-site .foot{max-width:1200px;border:0;margin:0 auto;padding:24px 40px 50px;font-size:13px;color:var(--muted)}
.qs-site .qs-footer-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px}
.qs-site .qs-footer-links a{display:inline-flex;align-items:center;min-height:40px}
.qs-site .qs-logo{width:32px;height:32px;object-fit:contain}
.qs-site .tool{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:42px 0}
.qs-site .tool label{font-weight:550}
.qs-site .chip{color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);min-height:40px;padding:8px 12px;font-size:13px}
.qs-site .tool pre{background:var(--canvas);color:var(--ink);font-size:15px;line-height:1.7;border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere}
.qs-site .primary:disabled{opacity:.6;cursor:wait}
.qs-site .qs-skip{position:absolute;left:20px;top:0;padding:12px;background:var(--ink);color:var(--canvas);transform:translateY(-120%);z-index:10}
.qs-site .qs-skip:focus{transform:translateY(0)}
/* Each layout changes type, geometry and density, not only its accent. */
.theme-tool{--canvas:#1c211f;--surface:#282e2b;--ink:#eff0e7;--muted:#bbc2b6;--line:#454e47;--accent:#cbdc90;--radius:10px;--display:"Avenir Next","Helvetica Neue","PingFang SC",sans-serif}
.theme-tool .qs-hero{padding-bottom:28px;border-bottom:0;max-width:900px}
.theme-tool h1{font-size:clamp(40px,5.5vw,72px)}
.theme-tool .tool{margin-top:18px}
.theme-tool .primary{background:var(--accent);color:var(--canvas);border-color:var(--accent)}
.theme-editorial{--canvas:#f7f2e8;--surface:#fffaf0;--ink:#29251f;--muted:#736a5e;--line:#ddd3c3;--accent:#9f372b;--radius:2px;--display:Georgia,"Songti SC",serif}
.theme-editorial main{max-width:1040px}
.theme-editorial .qs-hero{padding-top:60px}
.theme-editorial h1{font-weight:400;letter-spacing:-.045em}
.theme-editorial .qs-eyebrow{border-bottom:3px solid var(--accent);padding-bottom:18px;font-family:Arial,"PingFang SC",sans-serif}
.theme-editorial .qs-prose{font-family:Georgia,"Songti SC",serif;font-size:20px;line-height:1.85}
.theme-comparison{--canvas:#f1f1ea;--surface:#fbfbf7;--ink:#313526;--muted:#676c5b;--line:#d5d8c9;--accent:#606c33;--radius:4px;--display:"Avenir Next","Helvetica Neue","PingFang SC",sans-serif}
.theme-comparison .qs-hero{grid-template-columns:1.5fr 1fr}
.theme-comparison h1{font-size:clamp(38px,5.5vw,70px)}
.theme-directory{--canvas:#fcfcf8;--surface:#f0f1e9;--ink:#22251c;--muted:#666b5c;--line:#dfe1d7;--accent:#517040;--radius:3px;--display:"Helvetica Neue","PingFang SC",sans-serif}
.theme-directory h1{font-size:clamp(52px,9vw,112px);line-height:1;letter-spacing:-.07em}
.theme-directory .qs-hero{padding:60px 0 40px}
.theme-directory .qs-section-resources{padding-top:32px}
.theme-directory .qs-resources{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.theme-portfolio{--canvas:#e9e5dc;--surface:#f3efe7;--ink:#36261f;--muted:#75685e;--line:#cbbfb1;--accent:#934d31;--radius:0;--display:Georgia,"Songti SC",serif}
.theme-portfolio .qs-hero.has-image{grid-template-columns:1.1fr 1fr;gap:70px}
.theme-portfolio h1{font-weight:400;font-size:clamp(45px,6vw,80px)}
.theme-portfolio .qs-gallery article:nth-child(2n){padding-top:70px}
.theme-portfolio .qs-section-heading{max-width:650px}
.theme-docs{--canvas:#f8faf9;--surface:#edf2ef;--ink:#1e342b;--muted:#5d6e65;--line:#d9e3dc;--accent:#267257;--radius:5px;--display:"Avenir Next","Helvetica Neue","PingFang SC",sans-serif}
.theme-docs .qs-hero{grid-template-columns:1.6fr 1fr;padding:56px 0}
.theme-docs h1{font-size:clamp(38px,5vw,64px)}
.theme-docs .qs-section{display:grid;grid-template-columns:260px 1fr;gap:40px}
.theme-docs .qs-section-heading{margin:0}
.theme-docs .qs-section h2{font-size:25px}
.theme-docs .qs-section .qs-button{justify-self:start}
.theme-waitlist{--canvas:#ebeaa3;--surface:#f4f3cc;--ink:#313a28;--muted:#606347;--line:#c4c68b;--accent:#465c2f;--radius:100px;--display:"Avenir Next","Helvetica Neue","PingFang SC",sans-serif}
.theme-waitlist main{max-width:1040px}
.theme-waitlist .qs-hero{padding:100px 0 80px}
.theme-waitlist h1{font-size:clamp(48px,7.5vw,96px);max-width:13ch}
.theme-waitlist .qs-lead{max-width:50ch}
.theme-waitlist .qs-button{gap:48px}
@media(hover:hover){.qs-site .qs-button:hover{transform:translateY(-2px)}.qs-site .qs-outline a:hover,.qs-site .qs-resources a:hover{text-decoration:underline}.qs-site .chip:hover{border-color:var(--ink)}}
@media(max-width:900px){.qs-site .qs-hero{gap:32px;grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr)}.theme-directory .qs-resources{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-docs .qs-section{grid-template-columns:190px 1fr;gap:30px}.theme-portfolio .qs-hero.has-image{gap:32px}}
@media(max-width:650px){.qs-site{font-size:16px}.qs-site .top{padding:18px 22px;gap:10px 18px}.qs-site .brand{flex:1}.qs-site .nav{order:3;flex-basis:100%;justify-content:flex-start;gap:4px 22px}.qs-site .langs{padding-left:14px;gap:12px}.qs-site main{padding:0 22px 30px}.qs-site .qs-hero,.theme-portfolio .qs-hero.has-image{display:block;padding:44px 0 38px}.qs-site h1{letter-spacing:-.045em;margin:16px 0 22px}.qs-site .qs-outline,.qs-site .qs-cover{margin-top:35px}.qs-site .qs-outline a{min-height:48px;padding:12px 0}.qs-site .qs-section,.qs-site .faq{padding:36px 0}.qs-site .qs-features,.qs-site .qs-resources,.theme-directory .qs-resources,.qs-site .qs-gallery{grid-template-columns:1fr;gap:0}.qs-site .qs-features li{padding:22px 0}.qs-site .qs-section-cta,.theme-docs .qs-section{display:block}.qs-site .qs-section-cta .qs-button{margin-top:22px}.theme-docs .qs-section-heading{margin-bottom:22px}.qs-site .qs-filters{align-items:stretch;gap:12px}.qs-site .qs-filters label:last-child{max-width:42%}.qs-site .qs-table :is(th,td){padding:15px}.qs-site .qs-gallery article,.theme-portfolio .qs-gallery article:nth-child(2n){padding:0 0 35px}.qs-site .foot{padding:24px 22px 36px}.qs-site .tool{padding:22px 18px}.qs-site .qs-lead{font-size:18px}.theme-waitlist .qs-hero{padding-top:64px}.theme-waitlist h1{font-size:clamp(45px,12vw,70px)}}
@media(prefers-reduced-motion:reduce){.qs-site *{scroll-behavior:auto!important;transition:none!important}}
