:root { --ink:#17243e; --blue:#1265dc; --blue-dark:#084da9; --cyan:#16c4e8; --green:#73c715; --orange:#ff6b16; --muted:#64728b; --line:#dce8f3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Inter,ui-rounded,"Arial Rounded MT Bold",Nunito,system-ui,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; }
img { display:block; max-width:100%; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.top-note { background:var(--blue-dark); color:white; text-align:center; font-size:12px; font-weight:800; letter-spacing:.07em; padding:9px 20px; text-transform:uppercase; }
.site-header { align-items:center; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(18,101,220,.09); display:flex; height:88px; justify-content:space-between; padding:0 max(24px,calc((100vw - 1180px)/2)); position:sticky; top:0; z-index:20; backdrop-filter:blur(16px); }
.brand img { height:76px; width:122px; object-fit:contain; }
.site-header nav { display:flex; gap:34px; font-size:14px; font-weight:750; }
.site-header nav a { transition:color .2s ease; }
.site-header nav a:hover { color:var(--blue); }
.header-button,.primary-button { align-items:center; background:var(--orange); border-radius:13px; box-shadow:0 8px 0 #d94a00,0 13px 24px rgba(218,75,0,.2); color:#fff; display:inline-flex; font-size:14px; font-weight:900; justify-content:center; padding:13px 21px; transition:transform .2s ease,box-shadow .2s ease; }
.header-button:hover,.primary-button:hover { box-shadow:0 5px 0 #d94a00,0 10px 18px rgba(218,75,0,.2); transform:translateY(3px); }

.hero { background:radial-gradient(circle at 10% 28%,rgba(20,197,232,.12) 0 6px,transparent 7px),radial-gradient(circle at 92% 20%,rgba(117,199,21,.18) 0 8px,transparent 9px),linear-gradient(135deg,#f5fcff 0%,#fff 54%,#f8fff1 100%); display:grid; grid-template-columns:1.03fr .97fr; min-height:590px; overflow:hidden; padding:84px max(24px,calc((100vw - 1180px)/2)) 72px; position:relative; }
.hero::after { background-image:radial-gradient(rgba(18,101,220,.18) 1.2px,transparent 1.2px); background-size:22px 22px; content:''; height:140px; opacity:.6; position:absolute; right:-20px; top:28px; width:190px; }
.hero-copy { align-self:center; max-width:620px; position:relative; z-index:2; }
.eyebrow,.section-kicker { color:var(--blue); font-size:12px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow { align-items:center; display:flex; gap:9px; }
.eyebrow i { background:var(--green); border-radius:50%; box-shadow:0 0 0 5px rgba(115,199,21,.16); height:8px; width:8px; }
.hero h1 { font-size:clamp(42px,5vw,68px); letter-spacing:-.055em; line-height:.99; margin:22px 0 23px; max-width:690px; }
.hero h1 span { color:var(--blue); position:relative; white-space:nowrap; }
.hero h1 span::after { background:var(--green); border-radius:100%; bottom:-4px; content:''; height:6px; left:1%; opacity:.75; position:absolute; transform:rotate(-1.5deg); width:98%; }
.hero-copy>p { color:var(--muted); font-size:17px; line-height:1.75; max-width:560px; }
.hero-actions { align-items:center; display:flex; gap:27px; margin-top:31px; }
.primary-button { font-size:16px; gap:22px; padding:17px 24px; }
.primary-button b { font-size:21px; }
.text-button { border-bottom:2px solid var(--ink); font-size:14px; font-weight:850; padding:9px 0 5px; }
.trust-list { display:flex; flex-wrap:wrap; gap:19px; list-style:none; margin:35px 0 0; padding:0; }
.trust-list li { color:#4e607b; font-size:12px; font-weight:750; }
.trust-list span { color:var(--green); font-size:15px; margin-right:4px; }
.hero-art { align-items:center; display:flex; justify-content:center; min-height:420px; position:relative; }
.logo-cloud { align-items:center; animation:float 5s ease-in-out infinite; background:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.9); border-radius:47% 53% 42% 58%/58% 39% 61% 42%; box-shadow:0 30px 80px rgba(15,95,196,.18); display:flex; height:min(410px,38vw); justify-content:center; min-height:340px; padding:10px; position:relative; width:min(500px,42vw); z-index:2; }
.logo-cloud::before { background:#c9f5ff; border-radius:inherit; content:''; inset:-24px 14px 18px -18px; opacity:.5; position:absolute; z-index:-1; }
.logo-cloud img { width:104%; filter:drop-shadow(0 18px 14px rgba(11,87,173,.12)); }
.orbit { border:2px dashed rgba(18,101,220,.2); border-radius:50%; position:absolute; }
.orbit-one { height:470px; width:470px; transform:rotate(-18deg); }
.orbit-two { height:380px; width:550px; transform:rotate(24deg); }
.spark { position:absolute; z-index:3; }
.spark-one { color:var(--orange); font-size:34px; left:1%; top:13%; }
.spark-two { color:var(--green); font-size:27px; right:3%; top:15%; }
.spark-three { color:var(--cyan); bottom:14%; font-size:18px; left:10%; }
@keyframes float { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-12px) rotate(1deg); } }

.quick-categories { background:#fff; border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); padding:0 max(24px,calc((100vw - 1180px)/2)); }
.quick-categories button { align-items:center; background:#fff; border:0; border-right:1px solid var(--line); cursor:pointer; display:flex; font-size:13px; font-weight:850; gap:12px; min-height:86px; padding:16px 24px; text-align:left; }
.quick-categories button:first-child { border-left:1px solid var(--line); }
.quick-categories button:hover { background:#f7fbff; color:var(--blue); }
.quick-categories button>span { align-items:center; background:#eaf5ff; border-radius:12px; color:var(--blue); display:flex; font-size:12px; font-weight:950; height:42px; justify-content:center; width:42px; }
.quick-categories button:nth-child(2)>span { background:#effbdd; color:#579b0b; }
.quick-categories button:nth-child(3)>span { background:#fff1e8; color:var(--orange); }
.quick-categories button:nth-child(4)>span { background:#f4edff; color:#8e53d4; }
.quick-categories b { color:#9ba9ba; font-size:18px; margin-left:auto; }

.materials-section { background:#f8fbfe; padding:100px max(24px,calc((100vw - 1180px)/2)); }
.section-heading { align-items:end; display:flex; justify-content:space-between; gap:35px; }
.section-heading h2,.how-intro h2,.about-section h2 { font-size:clamp(32px,4vw,48px); letter-spacing:-.045em; line-height:1.08; margin:12px 0; }
.section-heading p,.how-intro p,.about-section p { color:var(--muted); line-height:1.7; margin:0; }
.search-box { align-items:center; background:white; border:1px solid var(--line); border-radius:14px; box-shadow:0 8px 24px rgba(26,75,128,.06); display:flex; flex:0 0 300px; gap:10px; padding:0 15px; }
.search-box span { color:var(--blue); font-size:24px; }
.search-box input { background:transparent; border:0; color:var(--ink); height:50px; outline:0; width:100%; }
.search-box:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px rgba(18,101,220,.1); }
.filter-row { display:flex; flex-wrap:wrap; gap:9px; margin:34px 0 30px; }
.filter-row button { background:#fff; border:1px solid var(--line); border-radius:999px; cursor:pointer; font-size:12px; font-weight:850; padding:10px 17px; }
.filter-row button:hover,.filter-row button.active { background:var(--blue); border-color:var(--blue); color:#fff; }
.materials-grid { display:grid; gap:24px; grid-template-columns:repeat(3,1fr); }
.material-card { background:#fff; border:1px solid #e4edf5; border-radius:24px; box-shadow:0 14px 40px rgba(28,75,126,.07); overflow:hidden; transition:transform .25s ease,box-shadow .25s ease; }
.material-card:hover { box-shadow:0 22px 46px rgba(28,75,126,.13); transform:translateY(-6px); }
.cover-placeholder { height:236px; overflow:hidden; position:relative; }
.cover-placeholder.cover-real::after { display:none; }
.cover-image { height:100%; object-fit:cover; transition:transform .35s ease; width:100%; }
.material-card:hover .cover-image { transform:scale(1.025); }
.available-badge { background:#73c715; border-radius:999px; box-shadow:0 5px 16px rgba(50,110,0,.22); color:white; font-size:9px; font-weight:950; left:18px; letter-spacing:.1em; padding:8px 11px; position:absolute; top:18px; z-index:2; }
.cover-placeholder::after { background:rgba(255,255,255,.25); border-radius:50%; content:''; height:210px; position:absolute; right:-80px; top:-62px; width:210px; }
.cover-placeholder.coral { background:linear-gradient(135deg,#ffb999,#ff6c39); }
.cover-placeholder.blue { background:linear-gradient(135deg,#54ccf3,#1766d8); }
.cover-placeholder.green { background:linear-gradient(135deg,#c4ee6c,#60b925); }
.cover-placeholder.purple { background:linear-gradient(135deg,#d5aaff,#8d55d8); }
.cover-placeholder.yellow { background:linear-gradient(135deg,#ffe172,#ffac1c); }
.cover-placeholder.pink { background:linear-gradient(135deg,#ffb4dd,#f06aa9); }
.cover-badge { background:rgba(255,255,255,.9); border-radius:999px; color:#31405b; font-size:9px; font-style:normal; font-weight:950; left:18px; letter-spacing:.11em; padding:8px 10px; position:absolute; top:18px; }
.cover-placeholder strong { color:rgba(255,255,255,.96); font-size:72px; left:50%; letter-spacing:-.08em; position:absolute; text-shadow:0 8px 0 rgba(31,60,110,.1); top:48%; transform:translate(-50%,-50%) rotate(-4deg); z-index:2; }
.cover-placeholder i { background:rgba(255,255,255,.4); border-radius:50%; height:13px; position:absolute; width:13px; }
.cover-placeholder i:nth-of-type(1) { left:14%; top:60%; }
.cover-placeholder i:nth-of-type(2) { height:8px; right:16%; top:37%; width:8px; }
.cover-placeholder i:nth-of-type(3) { bottom:14%; height:18px; right:26%; width:18px; }
.cover-placeholder small { bottom:16px; color:rgba(255,255,255,.9); font-size:11px; font-weight:850; left:18px; position:absolute; }
.card-content { padding:25px; }
.category-tag { color:var(--blue); font-size:10px; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }
.card-content h3 { font-size:21px; letter-spacing:-.025em; margin:9px 0 10px; }
.card-content>p { color:var(--muted); font-size:13px; line-height:1.65; margin:0; min-height:65px; }
.card-meta { border-bottom:1px solid var(--line); border-top:1px solid var(--line); color:#718097; display:flex; font-size:10px; font-weight:750; justify-content:space-between; margin:18px 0; padding:13px 0; }
.material-button { align-items:center; background:#eff4f8; border:0; border-radius:11px; color:#7b8797; cursor:not-allowed; display:flex; font-size:12px; font-weight:900; justify-content:space-between; padding:12px 14px; width:100%; }
.material-button.available { background:var(--orange); color:#fff; cursor:pointer; transition:background .2s ease,transform .2s ease; }
.material-button.available:hover { background:#e95508; transform:translateY(-2px); }
.empty-state { background:white; border:1px dashed #b9cade; border-radius:24px; padding:60px 24px; text-align:center; }
.empty-state>span { color:var(--blue); font-size:44px; }
.empty-state h3 { margin:10px 0 5px; }
.empty-state p { color:var(--muted); margin:0; }

.how-section { display:grid; gap:90px; grid-template-columns:.85fr 1.15fr; padding:105px max(24px,calc((100vw - 1180px)/2)); }
.how-intro { align-self:center; }
.how-section ol { list-style:none; margin:0; padding:0; }
.how-section li { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:25px; grid-template-columns:66px 1fr; padding:25px 0; }
.how-section li>span { align-items:center; background:#edf6ff; border-radius:18px; color:var(--blue); display:flex; font-size:18px; font-weight:950; height:62px; justify-content:center; }
.how-section li:nth-child(2)>span { background:#f0fadd; color:#579b0b; }
.how-section li:nth-child(3)>span { background:#fff0e8; color:var(--orange); }
.how-section h3 { font-size:18px; margin:0 0 5px; }
.how-section li p { color:var(--muted); font-size:13px; margin:0; }

.about-section { align-items:center; background:var(--blue-dark); color:white; display:grid; gap:80px; grid-template-columns:.8fr 1.2fr; overflow:hidden; padding:80px max(24px,calc((100vw - 1000px)/2)); position:relative; }
.about-section::before { border:2px dashed rgba(255,255,255,.13); border-radius:50%; content:''; height:390px; left:-90px; position:absolute; width:390px; }
.about-logo { align-items:center; background:white; border-radius:48% 52% 46% 54%; display:flex; height:310px; justify-content:center; padding:8px; position:relative; z-index:2; }
.about-logo img { width:330px; }
.about-section .section-kicker { color:#9fe429; }
.about-section p { color:#c9d9ef; max-width:590px; }
.about-section a { color:#fff; display:inline-flex; font-size:13px; font-weight:900; gap:28px; margin-top:25px; padding-bottom:6px; border-bottom:2px solid var(--green); }
footer { align-items:center; background:#f8fbfe; color:var(--muted); display:flex; font-size:11px; gap:25px; justify-content:space-between; padding:28px max(24px,calc((100vw - 1180px)/2)); }
footer img { height:62px; object-fit:contain; width:100px; }
footer p { margin:0 auto 0 0; }

@media (max-width:920px) {
  .site-header nav { display:none; }
  .hero { grid-template-columns:1fr; padding-top:62px; }
  .hero-copy { max-width:680px; }
  .hero-art { margin-top:40px; min-height:390px; }
  .logo-cloud { height:380px; width:min(560px,85vw); }
  .materials-grid { grid-template-columns:repeat(2,1fr); }
  .section-heading { align-items:stretch; flex-direction:column; }
  .search-box { flex-basis:auto; max-width:440px; }
  .how-section { gap:45px; grid-template-columns:1fr; }
  .about-section { gap:45px; grid-template-columns:.85fr 1.15fr; }
}
@media (max-width:650px) {
  .top-note { font-size:9px; }
  .site-header { height:75px; }
  .brand img { height:66px; width:105px; }
  .header-button { box-shadow:none; font-size:11px; padding:11px 13px; }
  .hero { padding-bottom:50px; padding-top:52px; }
  .hero h1 { font-size:42px; }
  .hero-copy>p { font-size:15px; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:17px; }
  .primary-button { width:100%; }
  .text-button { align-self:center; }
  .trust-list { gap:10px 16px; }
  .hero-art { min-height:310px; }
  .logo-cloud { height:290px; min-height:0; width:91vw; }
  .orbit-one { height:330px; width:330px; }
  .orbit-two { height:280px; width:390px; }
  .quick-categories { grid-template-columns:repeat(2,1fr); }
  .quick-categories button { min-height:74px; padding:12px; }
  .quick-categories button:nth-child(3) { border-left:1px solid var(--line); }
  .materials-section { padding-bottom:70px; padding-top:70px; }
  .materials-grid { grid-template-columns:1fr; }
  .card-content>p { min-height:0; }
  .how-section { padding-bottom:75px; padding-top:75px; }
  .about-section { grid-template-columns:1fr; padding-bottom:70px; padding-top:70px; }
  .about-logo { height:270px; margin:auto; max-width:380px; width:100%; }
  footer { align-items:flex-start; flex-direction:column; gap:8px; }
  footer p { margin:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .logo-cloud { animation:none; } * { transition-duration:.01ms!important; } }

.material-card[hidden] { display:none; }
