:root{--yellow:#ffdf00;--blue:#0072bc;--ink:#18232c;--muted:#53616b;--line:#dce2e5;--paper:#f5f7f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;font:16px/1.55 Arial,Helvetica,sans-serif;color:var(--ink);background:white}a{color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:60px;background:white;z-index:30}.switcher{background:#17232c;color:white;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;position:sticky;top:0;z-index:25;font-size:12px;flex-wrap:wrap}.switcher span{margin-right:12px;color:#c5cdd1}.switcher a{text-decoration:none;padding:6px 12px;border-radius:4px}.switcher a.active{background:var(--yellow);color:var(--ink);font-weight:700}.switcher a:hover{background:white;color:var(--ink)}.wrap{width:min(1240px,90%);margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;padding:24px 0;gap:25px}.logo{width:145px;height:auto}.navlinks{display:flex;align-items:center;gap:27px;font-size:14px}.navlinks a{text-decoration:none}.navlinks a:hover{text-decoration:underline}.btn{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--yellow);color:var(--ink);padding:14px 23px;text-decoration:none;font-weight:bold;border:0;border-radius:3px;font-size:14px}.btn.blue{background:var(--blue);color:white}.btn.line{background:transparent;border:1px solid currentColor}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;margin:0 0 17px}.lead{font-size:18px;max-width:510px;color:var(--muted)}h1{font-size:clamp(46px,5.8vw,82px);line-height:1.02;letter-spacing:-.06em;margin:0 0 25px}h2{font-size:clamp(30px,3.2vw,46px);line-height:1.1;letter-spacing:-.04em;margin:0 0 20px}h3{line-height:1.2;margin:0 0 12px}p{margin:0 0 22px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero{display:grid;grid-template-columns:1fr 1.06fr;align-items:center;gap:55px;padding:55px 0 65px}.hero figure{margin:0;position:relative}.hero img{width:100%;display:block;aspect-ratio:1.13;object-fit:cover;border-radius:5px}.caption{font-size:10px;color:var(--muted);margin-top:7px}.trust{display:flex;justify-content:space-between;padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:20px;font-size:13px}.trust strong{color:var(--blue)}section.block{padding:80px 0}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}.sectionhead p{max-width:380px;color:var(--muted);font-size:14px;margin:0}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.filters button{background:white;border:1px solid var(--line);border-radius:25px;padding:9px 18px;font-size:13px}.filters button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{border:1px solid var(--line);padding:24px;text-align:left;background:white;color:var(--ink);position:relative;min-height:188px;transition:transform .18s,box-shadow .18s}.product:hover{transform:translateY(-4px);box-shadow:0 12px 26px #18232c12}.product .num{font-size:11px;color:var(--blue);display:block;margin-bottom:27px}.product strong{font-size:18px;display:block;letter-spacing:-.02em;margin-bottom:8px}.product small{font-size:13px;line-height:1.5;display:block;color:var(--muted);padding-right:10px}.product .arrow{position:absolute;right:18px;top:20px;color:var(--blue);font-size:24px}.product[hidden]{display:none}.feature{background:var(--yellow);padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.feature p{max-width:480px}.feature .btn{background:var(--ink);color:white}.support{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:40px 1fr;border-bottom:1px solid var(--line);padding:22px 0;gap:18px}.step b{color:var(--blue)}.step p{font-size:14px;color:var(--muted);margin:0}.blog{background:var(--paper)}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.article{background:white;border:0;text-align:left;color:var(--ink);padding:30px;min-height:210px}.article small{display:block;color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:27px}.article h3{font-size:23px;letter-spacing:-.03em}.article span{font-size:13px;text-decoration:underline}.quote{background:var(--blue);color:white}.quote .lead{color:#e3eff7}.quotegrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:block;font-size:13px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #a9b6c2;border-radius:2px;background:white;color:var(--ink)}textarea{min-height:100px;resize:vertical}.full{grid-column:1/-1}.note{font-size:12px;margin-top:15px;opacity:.85}.status{font-size:13px;margin:15px 0 0}footer{padding:28px 0;font-size:12px}footer .wrap{display:flex;justify-content:space-between;gap:20px}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 12px}.empty{display:none}dialog{border:0;border-radius:6px;padding:35px;width:min(620px,90vw);max-height:85vh;overflow:auto;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#15232bcc}dialog .close{float:right;background:none;border:1px solid var(--line);border-radius:50%;height:35px;width:35px;font-size:21px}dialog h2{font-size:32px;padding-right:30px}dialog li{margin-bottom:10px}dialog .btn{margin-top:15px}.photo-band{display:none}.search{width:100%;max-width:500px;margin:0 0 25px}.zero{font-size:14px;color:var(--muted)}
/* 01: product-led */
.catalogue .hero-shell{background:linear-gradient(90deg,var(--yellow) 0 47%,#fff 47%)}.catalogue .hero .lead{color:#33424a}.catalogue .hero .btn{background:var(--blue);color:white}.catalogue .hero .btn.line{background:none;color:var(--ink)}.catalogue .product{border-top:4px solid var(--blue);border-bottom:4px solid var(--blue)}.catalogue .product:nth-child(even of :not([hidden])){border-top-color:var(--yellow);border-bottom-color:var(--yellow)}
/* 02: bold visual */
.showcase header{background:var(--yellow)}.showcase .hero-shell{background:var(--yellow)}.showcase .hero{display:block;padding:30px 0 0;position:relative}.showcase .herocopy{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:end;padding-bottom:42px}.showcase h1{font-size:clamp(64px,8.2vw,116px);max-width:850px;letter-spacing:-.075em}.showcase .hero .lead{font-size:17px;color:var(--ink)}.showcase .hero figure{margin:0 -5.55%;}.showcase .hero img{width:100%;height:440px;aspect-ratio:auto;border-radius:0;object-position:center 53%}.showcase .caption{position:absolute;bottom:12px;right:18px;background:#fffe;padding:4px 10px}.showcase .trust{background:var(--blue);color:white;border:0;padding:22px 4%;width:100%}.showcase .trust strong{color:var(--yellow)}.showcase .grid{grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.showcase .product{border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-height:190px;background:var(--yellow);padding:30px}.showcase .product:nth-child(4n+2){background:var(--blue);color:white}.showcase .product:nth-child(4n+2) small,.showcase .product:nth-child(4n+2) .num,.showcase .product:nth-child(4n+2) .arrow{color:white}.showcase .product:nth-child(4n+3){background:#fff}.showcase .product strong{font-size:26px;max-width:250px}.showcase .product:hover{transform:none;box-shadow:inset 0 0 0 4px var(--ink)}.showcase .feature{background:var(--ink);color:white}.showcase .feature .btn{background:var(--yellow);color:var(--ink)}.showcase .article{border-bottom:5px solid var(--yellow)}
/* 03: editorial */
.editorial{background:#fffef8}.editorial .hero-shell{border-top:1px solid var(--ink);background:var(--yellow)}.editorial .hero{grid-template-columns:.9fr 1.1fr;padding:60px 0;gap:70px}.editorial h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(55px,6vw,84px);letter-spacing:-.055em;line-height:1.03}.editorial h1 em{color:var(--blue)}.editorial .hero img{aspect-ratio:1;box-shadow:18px 18px 0 var(--blue);border-radius:0}.editorial .caption{margin-top:25px}.editorial .hero .lead{color:var(--ink);font-size:17px}.editorial h2{font-family:Georgia,serif;font-weight:400}.editorial .grid{grid-template-columns:1fr 1fr;gap:0 45px}.editorial .product{min-height:125px;padding:23px 45px 23px 56px;border:0;border-top:1px solid #bbc1bd;background:transparent}.editorial .product .num{position:absolute;left:0;top:27px}.editorial .product .arrow{top:30px}.editorial .product strong{font-size:23px;font-weight:500}.editorial .product:hover{transform:none;box-shadow:none;background:#fff2a4}.editorial .feature{background:var(--blue);color:white;padding:55px}.editorial .feature .btn{background:var(--yellow);color:var(--ink)}.editorial .article{background:none;border-top:2px solid var(--ink);padding:25px 0}.editorial .article h3{font:28px/1.15 Georgia,serif}.editorial .blog{background:#fff4a9}.editorial .quote{background:var(--yellow);color:var(--ink)}.editorial .quote .lead{color:var(--ink)}.editorial .quote .btn{background:var(--blue);color:white}
@media(min-width:1600px){.showcase .hero figure{margin:0}.showcase .hero img{height:480px}}@media(max-width:900px){.navlinks{gap:15px}.hero{gap:25px}.grid{grid-template-columns:repeat(3,1fr)}.showcase .herocopy{grid-template-columns:1fr;gap:0}.showcase .herocopy>div{max-width:650px}.quotegrid{gap:35px}.editorial .hero{gap:35px}.support{gap:35px}}@media(max-width:650px){.wrap{width:90%}.switcher{gap:0;font-size:11px;padding:7px 5px}.switcher span{display:none}.switcher a{padding:6px 8px}.nav{padding:17px 0;flex-wrap:wrap}.logo{width:126px}.menu{display:block}.navlinks{display:none;width:100%;flex-wrap:wrap;padding-top:12px}.navlinks.open{display:flex}.hero,.editorial .hero{grid-template-columns:1fr;padding:35px 0;gap:30px}.catalogue .hero-shell{background:var(--yellow)}h1{font-size:53px}.hero img{aspect-ratio:1.4}.trust{flex-wrap:wrap;gap:10px;font-size:11px}.trust span{width:46%}.block,section.block{padding:48px 0}.sectionhead{display:block}.sectionhead p{margin:12px 0 0}.grid{grid-template-columns:1fr 1fr;gap:12px}.product{padding:17px;min-height:190px}.product strong{font-size:17px}.product small{font-size:12px}.feature,.support,.quotegrid{grid-template-columns:1fr;gap:25px}.feature,.editorial .feature{padding:28px}.articles{grid-template-columns:1fr}.article{min-height:160px;padding:25px}.article small{margin-bottom:15px}.showcase .grid{grid-template-columns:1fr 1fr}.showcase .product{padding:20px;min-height:210px}.showcase .product strong{font-size:22px}.showcase h1{font-size:64px}.showcase .hero img{height:300px}.showcase .herocopy{padding-bottom:25px}.editorial .hero img{aspect-ratio:1.4;box-shadow:10px 10px 0 var(--blue)}.editorial .grid{grid-template-columns:1fr}.editorial .product{min-height:120px}.formgrid{grid-template-columns:1fr}.full{grid-column:auto}footer .wrap{display:block}footer span{display:block;margin-bottom:10px}}

.catalogue #products .sectionhead{display:block}.catalogue #products .sectionhead>p{max-width:none;margin:0}

.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.work-card{padding:0;border:1px solid #dce3e8;background:white;color:var(--ink);text-align:left;cursor:pointer;font:inherit}.work-card[hidden]{display:none}.work-card img{width:100%;height:260px;object-fit:contain;background:#f1f3f4;display:block}.work-card span{display:flex;justify-content:space-between;padding:18px;font-weight:700;border-bottom:4px solid var(--blue)}.work-card:nth-child(even) span{border-color:var(--yellow)}.work-card:hover{box-shadow:0 8px 24px #18232c18}.work-enlarged{width:100%;max-height:65vh;object-fit:contain}.clients-section{background:#f5f7f9;border-top:8px solid var(--yellow)}.client-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:30px 0}.client-logo{background:white;padding:20px;display:flex;align-items:center;justify-content:center;min-height:110px}.client-logo img{width:100%;height:70px;object-fit:contain}.more-clients summary{cursor:pointer;font-weight:700;color:var(--blue);padding:14px 0}.rating strong{font-size:30px}.rating span,.review-card>span{color:#866500;letter-spacing:3px}.rating p{margin:6px 0}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{padding:28px;background:#f5f7f9;border-top:4px solid var(--blue)}.review-card:nth-child(even){border-color:var(--yellow)}.review-card blockquote{margin:22px 0;font-size:22px;line-height:1.5}.review-card p{font-size:13px;color:#52616b}.review-foot{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:25px}.review-foot p{max-width:600px}.review-foot .btn{flex-shrink:0}@media(max-width:900px){.client-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.work-card img{height:210px}}@media(max-width:650px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-card img{height:180px}.work-card span{padding:12px;font-size:14px}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.client-logo{padding:12px;min-height:90px}.client-logo img{height:55px}.review-grid{grid-template-columns:1fr}.review-foot{display:block}.review-foot .btn{margin-top:16px}}

/* Persistent navigation and clearly separated client groups. */
html{scroll-padding-top:calc(var(--header-height,110px) + 20px)}
body>header,#app>header{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 2px 12px #18232c12}
.client-group{margin-top:36px}.client-group+.client-group{border-top:1px solid var(--line);padding-top:36px}.client-group h3{font-size:22px}.client-group .client-grid{margin:22px 0 0}
#about .support>div:first-child>p:not(.eyebrow){max-width:580px}
@media(min-width:651px) and (max-width:1050px){.nav{gap:18px;flex-wrap:wrap;padding:16px 0}.navlinks{gap:18px;flex-wrap:wrap}.logo{width:126px}}

.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.collection-card{display:block;border:1px solid var(--line);text-decoration:none;background:white;overflow:hidden;transition:box-shadow .2s}.collection-card:hover{box-shadow:0 10px 30px #18232c18}.collection-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.collection-card>div{padding:23px;border-bottom:4px solid var(--blue)}.collection-card:nth-child(even)>div{border-color:var(--yellow)}.collection-card h3{font-size:21px}.collection-card p{font-size:14px;color:var(--muted);min-height:44px}.collection-card span{font-size:14px;font-weight:700;color:var(--blue);display:flex;justify-content:space-between}.gallery-intro{padding:60px 0 25px}.gallery-intro p{max-width:760px}.gallery-nav{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.gallery-nav a{border:1px solid var(--line);border-radius:24px;padding:9px 15px;text-decoration:none;font-size:14px}.gallery-nav a[aria-current=page]{background:var(--blue);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-bottom:50px}.project-card{background:#f5f7f8;border:1px solid var(--line);padding:0;color:var(--ink);text-align:left}.project-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.project-card>div{padding:22px}.project-card small{color:var(--blue);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.project-card h2{font-size:25px;margin:9px 0}.project-card p{font-size:14px;margin:0}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:25px 0 60px}.archive-grid figure{margin:0}.archive-grid img{width:100%;height:240px;object-fit:contain;background:#f5f7f8}.archive-grid figcaption{font-size:13px;margin-top:8px}.gallery-viewer{width:min(1100px,94vw)}.gallery-viewer img{display:block;width:100%;max-height:72vh;object-fit:contain}.gallery-viewer p{margin:16px 0 0}.gallery-empty{padding:30px;background:var(--paper);margin-bottom:40px}.gallery-footer{border-top:1px solid var(--line);padding:25px 0}.gallery-heading{font-size:clamp(38px,5vw,64px)}@media(max-width:950px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.collection-grid,.project-grid{grid-template-columns:1fr}.collection-card p{min-height:0}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-grid img{height:180px}}

.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quote .note a{color:inherit}.quote button:disabled{opacity:.65;cursor:wait}

.content-page{max-width:1000px;min-height:65vh}.content-page h1{font-size:clamp(40px,6vw,70px);max-width:900px}.content-page section{margin:38px 0}.content-page h2{font-size:clamp(27px,4vw,38px);margin:24px 0 16px}.content-page p,.content-page li{max-width:780px;line-height:1.7}.content-page .lead{max-width:800px}.faq-list{margin:35px 0}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-size:19px;font-weight:700;cursor:pointer;padding:22px 30px 22px 0;line-height:1.4}.faq-list details>div{padding:0 0 20px;max-width:800px}.faq-list p{margin:0}.checklist{padding-left:24px}.checklist li{margin:22px 0}.video-wrap{aspect-ratio:16/9;max-width:900px;margin:30px 0}.video-wrap iframe{border:0;width:100%;height:100%}.footer-links{gap:16px;flex-wrap:wrap}.footer-links a{font-size:14px}.article{text-decoration:none}.article span{display:block;margin-top:15px}@media(max-width:1100px){.nav{flex-wrap:wrap}.menu{display:block}.navlinks{display:none;width:100%;padding-top:12px;flex-wrap:wrap}.navlinks.open{display:flex}}@media(max-width:650px){.content-page{padding-top:35px}.faq-list summary{font-size:17px;padding:20px 10px 20px 0}.footer-links a{display:inline-block;margin:8px 14px 0 0}}
