:root{--blue:#063fb8;--deep:#071d52;--sky:#eaf1ff;--ink:#101936;--muted:#5d6680;--line:#dbe3f3;--white:#fff;--danger:#a61b32}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8faff;color:var(--ink);font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue)}img{max-width:100%;display:block}.site-header,main,footer{width:min(1240px,100%);margin:auto;padding-left:28px;padding-right:28px}.site-header{min-height:96px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--deep);font-weight:900;letter-spacing:.06em;text-decoration:none}.brand img{width:68px;height:68px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:26px;margin-left:auto}.site-header nav>a{color:var(--ink);text-decoration:none;font-weight:650}.site-header nav>a:hover{color:var(--blue)}nav form{margin:0}nav button{background:none;color:var(--ink);padding:0}.site-header #menu{display:none}main{padding-top:46px;padding-bottom:72px}.page-heading{margin-bottom:34px}.page-heading h1{font-size:clamp(32px,4.5vw,64px);line-height:1.02;letter-spacing:-.045em;margin:.12em 0}.eyebrow,.hero-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:850;color:var(--blue);margin:0}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);min-height:500px;border-radius:28px;overflow:hidden;background:linear-gradient(130deg,#061a49 0%,#063fb8 62%,#6b92e7 100%);color:white;box-shadow:0 26px 70px #08296724}.hero-copy{padding:clamp(40px,7vw,84px)}.hero-kicker{color:#b9cdfb}.hero h2{font-size:clamp(42px,6vw,76px);line-height:.97;letter-spacing:-.055em;margin:18px 0 26px}.hero p{font-size:19px;max-width:700px;color:#e8efff}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:8px;padding:12px 20px;background:var(--blue);color:white;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.hero .button,.button-light{background:white;color:var(--deep)}.text-link{color:white;font-weight:750}.hero-mark{display:grid;place-items:center;background:radial-gradient(circle at center,#fff4 0,transparent 60%)}.hero-mark img{width:min(86%,430px);filter:drop-shadow(0 22px 20px #031b5c55)}.intro-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:30px 0 76px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.intro-strip p{margin:0;padding:24px;background:white}.intro-strip strong,.intro-strip span{display:block}.intro-strip strong{color:var(--blue);font-size:19px}.intro-strip span{color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:28px 0}.section-heading h2{font-size:clamp(28px,4vw,46px);letter-spacing:-.035em;margin:4px 0}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.photo-card{position:relative;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 26px #0829670c}.photo-card a{display:block;color:inherit;text-decoration:none}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e6edfb;transition:transform .3s}.photo-card:hover img{transform:scale(1.025)}.photo-card div{padding:18px}.photo-card p{margin:0;color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.photo-card h2,.photo-card h3{font-size:19px;line-height:1.25;margin:7px 0}.photo-card div>span{color:var(--muted);font-size:14px}.photo-reference{position:absolute;top:12px;right:12px;padding:5px 8px;border-radius:5px;background:#061a49dd;color:white;font-size:11px;font-weight:800;letter-spacing:.06em}.empty-state{grid-column:1/-1;text-align:center;padding:68px 30px;border:2px dashed #bbcae6;border-radius:18px;background:white}.empty-state>span{display:grid;place-items:center;width:86px;height:86px;border-radius:22px;margin:0 auto 18px;background:var(--sky);color:var(--blue);font-size:27px;font-weight:900}.licence-callout{margin-top:82px;padding:clamp(36px,6vw,72px);border-radius:24px;background:linear-gradient(130deg,#edf3ff,#dbe7ff);text-align:center}.licence-callout h2{font-size:clamp(36px,5vw,60px);letter-spacing:-.045em;margin:10px 0}.licence-callout p:not(.eyebrow){max-width:720px;margin:0 auto 26px;color:var(--muted);font-size:18px}.panel{padding:28px;background:white;border:1px solid var(--line);border-radius:14px;margin:24px 0;box-shadow:0 5px 20px #061d5209}.catalogue-filter{display:grid;grid-template-columns:2fr 1fr auto;gap:18px;align-items:end;padding:22px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:20px}.result-count{color:var(--muted)}label{display:block;color:var(--muted);font-weight:650}input,select,textarea{width:100%;min-height:48px;margin-top:7px;padding:11px 13px;border:1px solid #9fafd0;border-radius:7px;background:white;color:var(--ink);font:inherit}textarea{min-height:150px;resize:vertical}small{display:block;margin-top:6px;color:var(--muted);font-weight:400}.image-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.65fr);gap:34px;align-items:start}.image-stage{padding:16px;background:#061a49;border-radius:18px}.image-stage img{width:100%;max-height:78vh;object-fit:contain}.image-information{position:sticky;top:20px}.image-information h2{font-size:34px;line-height:1.1}.image-code{color:var(--blue);font-weight:850;letter-spacing:.08em}.image-information dl>div{display:flex;gap:20px;padding:12px 0;border-top:1px solid var(--line)}dt{width:100px;color:var(--muted)}dd{margin:0;font-weight:650}.licence-box{padding:24px;border-radius:14px;background:var(--sky);margin-top:28px}.licence-box h3{margin-top:0}.licensing-intro{max-width:760px}.licensing-intro h2{font-size:38px}.licence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0}.licence-grid article{padding:30px;border-radius:18px;background:white;border:1px solid var(--line)}.licence-grid article>span{color:var(--blue);font-weight:900}.licence-grid h2{font-size:29px}.licence-grid strong{display:block;margin-top:26px;color:var(--blue);font-size:30px}footer{text-align:center;padding-top:44px;padding-bottom:44px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}footer img{width:76px;margin:0 auto}footer p{margin:8px}footer a{font-weight:700;text-decoration:none}.auth-form{max-width:680px;margin-left:auto;margin-right:auto}.notice{padding:16px 18px;border-left:5px solid var(--blue);background:#edf3ff;border-radius:4px}canvas{max-width:280px;width:100%;height:auto}code{overflow-wrap:anywhere}details{margin:20px 0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #82a8ff;outline-offset:3px}[hidden]{display:none!important}@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-mark{display:none}.image-detail{grid-template-columns:1fr}.image-information{position:static}.licence-grid{grid-template-columns:1fr}}@media(max-width:700px){.site-header,main,footer{padding-left:16px;padding-right:16px}.site-header{min-height:78px}.brand img{width:52px;height:52px}.brand span{font-size:14px}.site-header #menu{display:block;margin-left:auto;padding:8px 12px;min-height:40px}.site-header nav{display:none;flex:0 0 100%;margin:0 0 14px;flex-wrap:wrap;gap:16px}.site-header nav.open{display:flex}.hero{min-height:0;border-radius:18px}.hero-copy{padding:34px 24px}.hero h2{font-size:43px}.hero p{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column}.intro-strip{grid-template-columns:1fr;margin-bottom:50px}.photo-grid{grid-template-columns:1fr}.catalogue-filter{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.licence-callout{margin-top:50px}.page-heading h1{font-size:38px}}

/* Consistent spacing between fields and actions on every panel form. */
form.panel>label,.panel form>label{margin:0 0 20px}
form.panel>button,.panel form>button{margin-top:4px}

/* Licence cards share a consistent title, copy and price rhythm. */
.licence-grid article{display:flex;flex-direction:column}
.licence-grid h2{margin:0 0 22px;color:var(--blue);font-size:32px}
.licence-grid article p{margin:0}
.licence-grid strong{margin-top:auto;padding-top:26px}

/* Mobile header and homepage presentation. */
@media(max-width:700px){
  .site-header{flex-wrap:wrap;gap:14px 12px;padding-top:10px;padding-bottom:10px}
  .brand{min-width:0;gap:10px}
  .brand span{white-space:nowrap}
  .site-header #menu{flex:0 0 auto}
  .site-header nav{width:100%;flex:0 0 100%;margin:0;padding:12px 0 4px;border-top:1px solid var(--line);gap:0}
  .site-header nav.open{display:grid;grid-template-columns:1fr}
  .site-header nav>a,.site-header nav form{width:100%;padding:10px 4px;text-align:left}
  .site-header nav button{justify-content:flex-start;width:100%;min-height:0}
  main{padding-top:34px}
  .page-heading{margin-bottom:24px}
  .page-heading h1{font-size:34px;line-height:1.05}
  .licensing-intro{margin-top:0}
  .licensing-intro p{margin-top:0}
  .hero-mark{display:grid;padding:12px 24px 34px;background:none}
  .hero-mark img{width:min(62%,260px)}
}

.licensing-intro h2 span{display:block}
.form-followup{margin:24px 0 0;color:var(--muted)}
.account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.account-summary article{padding:24px;background:white;border:1px solid var(--line);border-radius:14px}
.account-summary h2{margin-top:0}
@media(max-width:700px){
  .licensing-intro h2{font-size:30px;line-height:1.08}
  .account-summary{grid-template-columns:1fr}
  .footer-line{display:block}
}

.image-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.image-tags a{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid rgba(0,56,184,.22);border-radius:999px;background:#f2f6ff;color:#0038b8;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none;white-space:nowrap}
.image-tags a:hover,.image-tags a:focus{background:#0038b8;color:#fff}

.footer-links{display:flex;justify-content:center;gap:22px;margin:14px 0}.footer-links a{color:var(--blue)}.legal-copy{max-width:980px;margin:0 auto}.legal-copy .panel{margin:18px 0}.legal-copy h2{margin-top:0}.legal-copy li+li{margin-top:10px}
